You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
12 KiB
119 lines
12 KiB
# ಚಿತ್ರವನ್ನು ಹಿಡಿ - ವರ್ಚುವಲ್ ಐಒಟಿ ಹಾರ್ಡ್ವೇರ್
|
|
|
|
ಈ ಪಾಠದ ಭಾಗದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನಕ್ಕೆ ಕ್ಯಾಮೆರಾ ಸೆನ್ಸರ್ ಅನ್ನು ಸೇರಿಸಿ, ಅದರಿಂದ ಚಿತ್ರಗಳನ್ನು ಓದುವಿರಿ.
|
|
|
|
## ಹಾರ್ಡ್ವೇರ್
|
|
|
|
ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವು ಫೈಲ್ಗಳಿಂದ ಅಥವಾ ನಿಮ್ಮ ವೆಬ್ಕ್ಯಾಮ್ನಿಂದ ಚಿತ್ರಗಳನ್ನು ಕಳುಹಿಸುವ ಅನುಕರಣೆಯ ಕ್ಯಾಮೆರಾಗೆ ಬಳಸುತ್ತದೆ.
|
|
|
|
### CounterFit ಗೆ ಕ್ಯಾಮೆರಾ ಸೇರಿಸಿ
|
|
|
|
ವರ್ಚುವಲ್ ಕ್ಯಾಮೆರಾ ಬಳಸಲು, ನಿಮಗೆ CounterFit ಅಪ್ಲಿಕೇಶನ್ಗೆ ಒಂದು ಸೇರಿಸಬೇಕು
|
|
|
|
#### ಕೆಲಸ - CounterFit ಗೆ ಕ್ಯಾಮೆರಾ ಸೇರಿಸಿ
|
|
|
|
CounterFit ಅಪ್ಲಿಕೇಶನ್ಗೆ ಕ್ಯಾಮೆರಾವನ್ನು ಸೇರಿಸಿ.
|
|
|
|
1. ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ `fruit-quality-detector` ಎಂಬ ಫೋಲ್ಡರ್ನಲ್ಲಿ ಒಂದು ಫೈಲ್ `app.py` ಹೊಂದಿರುವ ಹೊಸ ಪೈಥಾನ್ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಪೈಥಾನ್ ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ಸೃಷ್ಟಿಸಿ ಮತ್ತು CounterFit ಪಿಪ್ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸೇರಿಸಿ.
|
|
|
|
> ⚠️ ಅಗತ್ಯವಿದ್ದರೆ [ಪಾಠ 1 ರಲ್ಲಿ CounterFit ಪೈಥಾನ್ ಪ್ರಾಜೆಕ್ಟ್ ರಚಿಸುವ ಮತ್ತು ಸೆಟ್ಅಪ್ ಮಾಡುವ ಸೂಚನೆಗಳನ್ನು ಇಲ್ಲಿ ನೋಡಿ](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md).
|
|
|
|
1. CounterFit ಆ್ಯಪ್ಗಾಗಿ ಕ್ಯಾಮೆರಾ ಸೆನ್ಸರ್ಗಳೊಡನೆ ಮಾತನಾಡುವ CounterFit ಶಿಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಇನ್ನೊಂದು ಪಿಪ್ ಪ್ಯಾಕೇಜ್ನ್ನು ಸ್ಥಾಪಿಸಬೇಕು, ಇದು ಕೆಲವು [Picamera ಪಿಪ್ ಪ್ಯಾಕೇಜ್](https://pypi.org/project/picamera/) ಗಳನ್ನು ಅನುಕರಿಸುತ್ತದೆ. ವರ್ಚುವಲ್ ಪರಿಸರ ಸಕ್ರಿಯಗೊಳಿಸಿದ ಟರ್ಮಿನಲ್ನಿಂದ ಸ್ಥಾಪಿಸುತ್ತಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
|
|
|
|
```sh
|
|
pip install counterfit-shims-picamera
|
|
```
|
|
|
|
1. CounterFit ವೆಬ್ ಆ್ಯಪ್ಗೆ ಎಚ್ಚರಿಕೆ.
|
|
|
|
1. ಕ್ಯಾಮेरಾ ರಚಿಸಿ:
|
|
|
|
1. *Sensors* ಪೇನಿನಲ್ಲಿ *Create sensor* ಬಾಕ್ಸ್ನಲ್ಲಿ *Sensor type* ಬಾಕ್ಸನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು *Camera* ಆಯ್ಕೆಮಾಡಿ.
|
|
|
|
1. *Name* ಅನ್ನು `Picamera` ಎಂದು ಸೆಟ್ ಮಾಡಿ
|
|
|
|
1. **Add** ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ ಕ್ಯಾಮೆರಾ ರಚಿಸಲು
|
|
|
|

|
|
|
|
ಕ್ಯಾಮೆರಾ ರಚಿಸಲಾಗಿದ್ದು ಸೆನ್ಸರ್ ಪಟ್ಟಿನಲ್ಲಿ ಕಾಣಿಸುವುದು.
|
|
|
|

|
|
|
|
## ಕ್ಯಾಮೆರಾವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ
|
|
|
|
ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವನ್ನು ಈಗ ವರ್ಚುವಲ್ ಕ್ಯಾಮೆರಾ ಬಳಕೆಗಾಗಿ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಬಹುದು.
|
|
|
|
### ಕೆಲಸ - ಕ್ಯಾಮೆರಾವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ
|
|
|
|
ಸಾಧನವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ.
|
|
|
|
1. `fruit-quality-detector` ಆ್ಯಪ್ VS Code ನಲ್ಲಿ ತೆರೆಯಿರಿ
|
|
|
|
1. `app.py` ಫೈಲ್ ತೆರೆಯಿರಿ
|
|
|
|
1. `app.py` ಶೀರ್ಷಿಕೆಯಲ್ಲಿ ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿ CounterFit ಗೆ ಆ್ಯಪ್ ಸಂಪರ್ಕಿಸಲು:
|
|
|
|
```python
|
|
from counterfit_connection import CounterFitConnection
|
|
CounterFitConnection.init('127.0.0.1', 5000)
|
|
```
|
|
|
|
1. `app.py` ಫೈಲ್ಗೆ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರ್ಮಾಡಿ:
|
|
|
|
```python
|
|
import io
|
|
from counterfit_shims_picamera import PiCamera
|
|
```
|
|
|
|
ಈ ಕೋಡ್ ಕೆಲ ಲೈಬ್ರರಿಗಳನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡುತ್ತದೆ, ಅದರಲ್ಲಿ `PiCamera` ಕ್ಲಾಸ್ counterfit_shims_picamera ಲೈಬ್ರರಿಯಿಂದ ಸೇರಿದೆ.
|
|
|
|
1. ಕ್ಯಾಮೆರಾ ಪ್ರಾರಂಭಿಸಲು ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:
|
|
|
|
```python
|
|
camera = PiCamera()
|
|
camera.resolution = (640, 480)
|
|
camera.rotation = 0
|
|
```
|
|
|
|
ಈ ಕೋಡ್ ಒಂದು PiCamera ವಸ್ತುವನ್ನು ರಚಿಸುತ್ತದೆ, ರೆಸಲ್ಯೂಷನ್ 640x480 ಆಗಿ ಸೆಟ್ ಮಾಡುತ್ತದೆ. ಉನ್ನತ ರೆಸಲ್ಯೂಷನ್ ಗಳಿಗೂ ಬೆಂಬಲವಿದ್ದರೂ, ಚಿತ್ರ ವರ್ಗೀಕರಣ ಯಂತ್ರವು ತುಂಬಾ ಸಣ್ಣ ಚಿತ್ರಗಳ (227x227) ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಆದಕಾರಣ ದೊಡ್ಡ ಚಿತ್ರಗಳನ್ನು ಹಿಡಿಯುವುದಿಲ್ಲ.
|
|
|
|
`camera.rotation = 0` ಸಾಲು ಚಿತ್ರದಭ್ಯಂತ ಸಂವೇಧಾನದಿಂದ ತಿರುವನ್ನು ಡಿಗ್ರೀಗಳಲ್ಲಿ ಸೆಟ್ ಮಾಡುತ್ತದೆ. ನೀವು ವೆಬ್ಕ್ಯಾಮ್ ಅಥವಾ ಫೈಲ್ನಿಂದ ಚಿತ್ರ ತಿರುವಾಗಬೇಕಾದರೆ, ಇದನ್ನು ಹೊಂದಿಸಿ. ಉದಾಹರಣೆಗೆ, ಲ್ಯಾಂಡ್ಸ್ಕೇಪ್ ಮೋಡ್ನಲ್ಲಿ ಬಾಳೆಹಣ್ಣು ಅಥವಾ ವೆಬ್ಕ್ಯಾಮ್ ಚಿತ್ರವನ್ನು ಲ್ಯಾಂಡ್ಸ್ಕೇಪ್ನಿಂದ ಪೋರ್ಟ್ರೆಟ್ ಗೆ ಬದಲಾಯಿಸಲು `camera.rotation = 90` ಸೆಟ್ ಮಾಡಿ.
|
|
|
|
1. ಸಾಧ್ಯವಾದರೆ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ ಚಿತ್ರವನ್ನು ಬೈನರಿ ಡೇಟಾ ಆಗಿ ಕಪ್ಚರ್ ಮಾಡಲು:
|
|
|
|
```python
|
|
image = io.BytesIO()
|
|
camera.capture(image, 'jpeg')
|
|
image.seek(0)
|
|
```
|
|
|
|
ಈ ಕೋಡ್ ಒಂದು `BytesIO` ವಸ್ತುವನ್ನು ರಚಿಸುತ್ತದೆ, ಅದು ಬೈನರಿ ಡೇಟಾ ಸಂಗ್ರಹಿಸಲು.UseJPEG ಫೈಲ್ ಆಗಿ ಕ್ಯಾಮೆರಾವಿಂದ ಚಿತ್ರವನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಈ ವಸ್ತುವಿನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತವೆ. ಈ ವಸ್ತುವಿನಲ್ಲಿ ಸ್ಥಳ ಸೂಚಕರು ಇದ್ದು ಉಳಿದ ಡೇಟಾವನ್ನು ಬರೆಯಲು ದೋರ್ಜಿ ಇರುತ್ತದೆ, ಆದಕಾರಣ `image.seek(0)` ಸಾಲು ಈ ಸ್ಥಳವನ್ನು ಮರುತಲುಕುತ್ತದೆ ಎಲ್ಲ ಡೇಟಾವನ್ನು ನಂತರ ಓದಲು.
|
|
|
|
1. ಈ ಕೆಳಗೆ, ಚಿತ್ರವನ್ನು ಫೈಲ್ ಗೆ ಉಳಿಸಲು ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:
|
|
|
|
```python
|
|
with open('image.jpg', 'wb') as image_file:
|
|
image_file.write(image.read())
|
|
```
|
|
|
|
ಈ ಕೋಡ್ `image.jpg` ಎಂಬ ಫೈಲ್ ಅನ್ನು ಬರೆಯಲು ತೆರೆದಿದ್ದು, ನಂತರ `BytesIO` ವಸ್ತುದಿಂದ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಫೈಲ್ಗೆ ಬರೆಯುತ್ತದೆ.
|
|
|
|
> 💁 ನೀವು ಚಿತ್ರವನ್ನು ನೇರವಾಗಿ `BytesIO` ವಸ್ತುವಲ್ಲದೆ ಫೈಲ್ಗೆ ಕಪ್ಚರ್ ಮಾಡಬಹುದು, ಕೇವಲ ಫೈಲ್ ಹೆಸರನ್ನು `camera.capture` ಕರೆಗೆ ನೀಡಿದರೆ ಸಾಕು. ಈ ಪಾಠದ ಮುಂದೆ ನೀವು ಚಿತ್ರವನ್ನು ಚಿತ್ರ ವರ್ಗೀಕರಣದ ಜೊತೆಗೆ ಕಳುಹಿಸಲು ಈ `BytesIO` ವಸ್ತುವನ್ನು ಬಳಸುತ್ತೀರಿ.
|
|
|
|
1. CounterFit ನಲ್ಲಿ ಕ್ಯಾಮೆರಾ ಹಿಡಿಯೋ ಚಿತ್ರವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. ನೀವು *Source* ಗೆ *File* ಸೆಟ್ ಮಾಡಬಹುದು, ನಂತರ ಒಂದು ಚಿತ್ರ ಫೈಲ್ ಅಪ್ಲೋಡ್ ಮಾಡಿ ಅಥವಾ *WebCam* ಸೆಟ್ ಮಾಡಿ, ಚಿತ್ರಗಳು ನಿಮ್ಮ ವೆಬ್ക್ಯಾಮ್ನಿಂದ ಹಿಡಿಯಲ್ಪಡುತ್ತವೆ. ಚಿತ್ರ ಆಯ್ಕೆಮಾಡಿದ ನಂತರ ಅಥವಾ ವೆಬ್ಕ್ಯಾಮ್ ಆಯ್ಕೆಮಾಡಿದ ನಂತರ **Set** ಬಟನ್ ಒತ್ತಿ.
|
|
|
|

|
|
|
|
1. ಒಂದು ಚಿತ್ರ ಹಿಡಿಯಲ್ಪಟ್ಟು ಪ್ರಚಲಿತ ಫೋಲ್ಡರ್ನಲ್ಲಿ `image.jpg` ಎಂದು ಉಳಿಸಲಾಗುತ್ತದೆ. ನೀವು ಈ ಫೈಲ್ನ್ನು VS Code ಎಕ್ಸ್ಪ್ಲೋರರ್ನಲ್ಲಿ ಕಾಣಬಹುದು. ಚಿತ್ರ ವೀಕ್ಷಿಸಲು ಫೈಲ್ನ್ನು ಆಯ್ಕೆಮಾಡಿ. ತಿರುವು ಬೇಕಾದರೆ `camera.rotation = 0` ಕಾನ್ಫಿಗರ್ ಮಾಡಿ ಮತ್ತೊಂದು ಚಿತ್ರ ತೆಗೆದುಕೊಳ್ಳಿ.
|
|
|
|
> 💁 ನೀವು ಈ ಕೋಡ್ ಅನ್ನು [code-camera/virtual-iot-device](../../../../../4-manufacturing/lessons/2-check-fruit-from-device/code-camera/virtual-iot-device) ಫೋಲ್ಡರ್ನಲ್ಲಿ ಕಾಣಬಹುದು.
|
|
|
|
😀 ನಿಮ್ಮ ಕ್ಯಾಮೆರಾ ಪ್ರೋಗ್ರಾಮ್ ಯಶಸ್ವಿಯಾಯಿತು!
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**ತರುಣಿಕೆ**:
|
|
ಈ ದಸ್ತಾವೇಜು AI ಭಾಷಾಂತರ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಭಾಷಾಂತರಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ದತೆಯನ್ನು ಪ್ರಯತ್ನಿಸಿದರೂ, ಸ್ವಯಂಚಾಲಿತ ಭಾಷಾಂತರಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪುಗಳಿರಬಹುದೆಂದು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವಾಗ شمارಿಸಿ. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಭಾಷಾಂತರವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಈ ಭಾಷಾಂತರ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಅರ್ಥಮಾಡಿಕೊಳ್ಳದಿಕೆಗಳು ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗೆ ನಾವು જવાબದಾರಿ ಹೊಂದಿರುವುದಿಲ್ಲ.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |