# ಚಿತ್ರವನ್ನು ಹಿಡಿ - ವರ್ಚುವಲ್ ಐಒಟಿ ಹಾರ್ಡ್‌ವೇರ್ ಈ ಪಾಠದ ಭಾಗದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನಕ್ಕೆ ಕ್ಯಾಮೆರಾ ಸೆನ್ಸರ್ ಅನ್ನು ಸೇರಿಸಿ, ಅದರಿಂದ ಚಿತ್ರಗಳನ್ನು ಓದುವಿರಿ. ## ಹಾರ್ಡ್‌ವೇರ್ ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವು ಫೈಲ್‌ಗಳಿಂದ ಅಥವಾ ನಿಮ್ಮ ವೆಬ್‌ಕ್ಯಾಮ್‌ನಿಂದ ಚಿತ್ರಗಳನ್ನು ಕಳುಹಿಸುವ ಅನುಕರಣೆಯ ಕ್ಯಾಮೆರಾಗೆ ಬಳಸುತ್ತದೆ. ### 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** ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ ಕ್ಯಾಮೆರಾ ರಚಿಸಲು ![ಕ್ಯಾಮೆರಾ ಸೆಟ್ಟಿಂಗ್ಸ್](../../../../../translated_images/kn/counterfit-create-camera.a5de97f59c0bd3cb.webp) ಕ್ಯಾಮೆರಾ ರಚಿಸಲಾಗಿದ್ದು ಸೆನ್ಸರ್ ಪಟ್ಟಿ‌ನಲ್ಲಿ ಕಾಣಿಸುವುದು. ![ಕ್ಯಾಮೆರಾ ರಚಿಸಲಾಗಿದೆ](../../../../../translated_images/kn/counterfit-camera.001ec52194c8ee5d.webp) ## ಕ್ಯಾಮೆರಾವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವನ್ನು ಈಗ ವರ್ಚುವಲ್ ಕ್ಯಾಮೆರಾ ಬಳಕೆಗಾಗಿ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಬಹುದು. ### ಕೆಲಸ - ಕ್ಯಾಮೆರಾವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ ಸಾಧನವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ. 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** ಬಟನ್ ಒತ್ತಿ. ![CounterFit ನಲ್ಲಿ ಫೈಲ್ 'Source' হিসাবে ಮತ್ತು ವೆಬ್‌ಕ್ಯಾಮ್ ಸೆಟ್ ಮೂಲಕ ಬಾಳೆಹಣ್ಣು ಹಿಡಿದ ವ್ಯಕ್ತಿಯ ಚಿತ್ರ](../../../../../translated_images/kn/counterfit-camera-options.eb3bd5150a8e7dff.webp) 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) ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ಕಾಣಬಹುದು. 😀 ನಿಮ್ಮ ಕ್ಯಾಮೆರಾ ಪ್ರೋಗ್ರಾಮ್ ಯಶಸ್ವಿಯಾಯಿತು! --- **ತರುಣಿಕೆ**: ಈ ದಸ್ತಾವೇಜು AI ಭಾಷಾಂತರ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಭಾಷಾಂತರಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ದತೆಯನ್ನು ಪ್ರಯತ್ನಿಸಿದರೂ, ಸ್ವಯಂಚಾಲಿತ ಭಾಷಾಂತರಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪುಗಳಿರಬಹುದೆಂದು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವಾಗ شمارಿಸಿ. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಭಾಷಾಂತರವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಈ ಭಾಷಾಂತರ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಅರ್ಥಮಾಡಿಕೊಳ್ಳದಿಕೆಗಳು ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗೆ ನಾವು જવાબದಾರಿ ಹೊಂದಿರುವುದಿಲ್ಲ.