12 KiB
చిత్రం పట్టుకోండి - వర్చువల్ IoT హార্ড్వేర్
ఈ పాఠం విడిభాగంలో, మీరు మీ వర్చువల్ IoT డివైస్కు కెమెరా సెన్సార్ను జోడించి, దానినుండి చిత్రాలను చదివుతారు.
హార్డ్వేర్
వర్చువల్ IoT డివైస్ ఒక అనుకరణ క్యామేరాను ఉపయోగిస్తుంది, ఇది ఫైళ్ల నుంచి లేదా మీ వెబ్క్యామ్ నుంచి చిత్రాలను పంపిస్తుంది.
క్యామేరాను CounterFitకి జోడించండి
వర్చువల్ కెమెరాను ఉపయోగించడానికి, CounterFit యాప్కి ఒకటి జోడించాలి
పని - CounterFitకి క్యామేరాను జోడించండి
CounterFit యాప్కి కెమెరాను జోడించండి.
-
fruit-quality-detectorఅనే ఫోల్డరులో ఒక సింగిల్ ఫైల్app.pyఉన్న కొత్త Python యాప్ను మీ కంప్యూటర్లో సృష్టించి, Python వర్చువల్ ఎన్విరాన్మెంట్లో CounterFit పిప్ ప్యాకేజీలను జోడించండి.⚠️ అవసరం అయితే CounterFit Python ప్రాజెక్టును సృష్టించడం మరియు సెట్టప్ చేయడం పట్ల సూచనలు కోసం పాఠం 1 ను చూడండి.
-
CounterFit షిమ్ ఇన్స్టాల్ చేయడానికి అదనపు పిప్ ప్యాకేజీని ఇన్స్టాల్ చేయండి, ఇది క్యామేరా సెన్సార్లతో మాట్లాడగలదు మరియు Picamera పిప్ ప్యాకేజీ కొంత భాగాన్ని అనుకరిస్తుంది. ఖచ్చితంగా వర్చువల్ ఎన్విరాన్మెంట్ యాక్టివేట్ అయిన టెర్మినల్ నుంచి ఈది ఇన్స్టాల్ చేయండి.
pip install counterfit-shims-picamera -
CounterFit వెబ్ యాప్ పనిచేస్తున్నదని ఖచ్చితంగా చూసుకోండి
-
ఒక కెమెరాను సృష్టించండి:
-
Sensors ప్యాన్లోని Create sensor బాక్స్లో, Sensor type బాక్స్ను డ్రాప్డౌన్ చేసి Camera ను ఎంచుకోండి.
-
Name ను
Picameraగా సెట్ చేయండి -
కెమెరాను సృష్టించడానికి Add బటన్ను ఎంచుకోండి
కెమెరా సృష్టించబడుతుంది మరియు సెన్సార్లు జాబితాలో కనబడుతుంది.
-
కెమెరాను ప్రోగ్రామ్ చేయండి
వర్చువల్ IoT డివైస్ ఇప్పుడు వర్చువల్ కెమెరాను ఉపయోగించడానికి ప్రోగ్రామ్ చేయబడగలదు.
పని - కెమెరాను ప్రోగ్రామింగ్ చేయండి
డివైస్ను ప్రోగ్రామ్ చేయండి.
-
fruit-quality-detectorయాప్ VS కోడ్లో తెరిచి ఉందని ఖచ్చితంగా చూసుకోండి -
app.pyఫైల్ను తెరవండి -
యాప్ను CounterFitకి కనెక్ట్ చేయడానికి
app.pyటాప్లో క్రింది కోడ్ను జోడించండి:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000) -
మీరు మీ
app.pyఫైల్లో క్రింది కోడ్ను జోడించండి:import io from counterfit_shims_picamera import PiCameraఈ కోడ్ కొన్ని లైబ్రరీలను దిగుమతి చేసుకుంటుంది, వాటిలో
PiCameraక్లాస్ counterfit_shims_picamera లైబ్రరీ నుండి ఉంటుంది. -
కెమెరాను ప్రారంభించడానికి క్రింది కోడ్ను ఈ క్రింద జోడించండి:
camera = PiCamera() camera.resolution = (640, 480) camera.rotation = 0ఈ కోడ్ ఒక PiCamera ఆబ్జెక్టును సృష్టించి, రిజల్యూషన్ను 640x480గా సెట్ చేస్తుంది. ఎక్కువ రిజల్యూషన్స్ మద్దతు ఉన్నా, చిత్ర వర్గీకరణ కోసం చిన్న చిత్రాలు (227x227) మాత్రమే ఉపయోగించబడతాయి కాబట్టి పెద్ద చిత్రాలను క్యాప్చర్ చేసి పంపించడం అవసరం లేదు.
camera.rotation = 0లైన్ చిత్రం తిప్పుడు (డిగ్రీలలో) సెట్ చేస్తుంది. వెబ్క్యామ్ లేదా ఫైల్ నుండి చిత్రాన్ని తిప్పాల్సిన అవసరం ఉంటే, దీన్ని అనుగుణంగా సెట్ చేయండి. ఉదాహరణకు, ల్యాండ్స్కేప్ మోడ్లో ఉన్న వెబ్క్యామ్లో ఉన్న అరటిపండు చిత్రాన్ని పోర్ట్రెయిట్గా మార్చాలంటే,camera.rotation = 90గా సెట్ చేయండి. -
బైనరీ డేటా రూపంలో చిత్రం క్యాప్చర్ చేయడానికి క్రింది కోడ్ను జోడించండి:
image = io.BytesIO() camera.capture(image, 'jpeg') image.seek(0)ఈ కోడ్
BytesIOఆబ్జెక్టును సృష్టిస్తుంది, ఇది బైనరీ డేటాను నిల్వ చేస్తుంది. కెమెరా నుండి చిత్రం JPEG ఫైల్గా చదవబడుతుంది మరియు ఈ ఆబ్జెక్టులో నిల్వ చేయబడుతుంది. ఈ ఆబ్జెక్టు ఒక పొజిషన్ సూచిక కలిగి ఉంది, దీని ద్వారా అది ఎక్కడ ఉంది తెలుసుకుని, అవసరమైతే మరిన్ని డేటాను చివరకు రాయగలదు. కాబట్టిimage.seek(0)లైన్ ఈ పొజిషన్ను మొదలుకి తరలిస్తుంది, తద్వారా అన్ని డేటాను తర్వాత చదవవచ్చు. -
దీనికి కింద క్రింది కోడ్తో చిత్రాన్ని ఫైల్గా సేవ్ చేయండి:
with open('image.jpg', 'wb') as image_file: image_file.write(image.read())ఈ కోడ్
image.jpgఅనే ఫైల్ని రాయడానికి తెరిచి,BytesIOఆబ్జెక్టు నుండి అన్ని డేటా చదివి ఫైల్లో రాస్తుంది.💁 మీరు
camera.captureకాల్కు ఫైల్ పేరు పంపించి, చిత్రాన్ని నేరుగా ఫైల్గా కూడా క్యాప్చర్ చేయవచ్చు.BytesIOఆబ్జెక్టును ఉపయోగించే కారణం, ఈ పాఠంలో తరువాత మీరు చిత్రాన్ని మీ ఇమేజ్ క్లాసిఫయర్కి పంపగలగాలని భావించినందున. -
CounterFit లో కెమెరా పీకే చిత్రాన్ని కాన్ఫిగర్ చేయండి. మీరు Source ను File గా సెట్ చేసి, ఒక చిత్రం ఫైల్ను అప్లోడ్ చేయవచ్చు లేదా Source ను WebCam గా సెట్ చేసి, చిత్రాలు మీ వెబ్క్యామ్ నుండి క్యాప్చర్ చేయవచ్చు. చిత్రం లేదా వెబ్క్యామ్ ఎంచుకున్న తరువాత Set బటన్ను ఎంచుకోవడం మర్చిపోకండి.
-
ప్రస్తుతం ఉన్న ఫోల్డర్లో చిత్రం
image.jpgగా క్యాప్చర్ చేసి సేవ్ అవుతుంది. మీరు VS కోడ్ ఎక్స్ప్లోరర్లో ఈ ఫైల్ను చూడవచ్చు. చిత్రాన్ని వీక్షించడానికి ఫైల్ను ఎంచుకోండి. తిప్పించాల్సిన అవసరం ఉంటే,camera.rotation = 0లైన్ను అవసరానికి అనుగుణంగా మార్చి మరోసారి చిత్రం తీయండి.
💁 మీరు ఈ కోడ్ను code-camera/virtual-iot-device ఫోల్డర్లో కనుగొనవచ్చు.
😀 మీ కెమెరా ప్రోగ్రామ్ విజయం సాధించింది!
అస్పష్టత: ఈ డాక్యుమెంట్ను AI అనువాద సేవ Co-op Translator ఉపయోగించి తర్జుమా చేశాము. మేము ఖచ్చితత్వానికి ప్రయత్నిస్తున్నప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో తప్పులు లేదా అసమర్థతలు ఉండవచ్చు అని గమనించండి. ప్రాథమిక డాక్యుమెంట్ యొక్క మౌలిక భాషలోని వచనం అధికారిక మూలం గా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, నిపుణుల చేత అనువాదం పొందటం మంచిది. ఈ అనువాదం వలన కలిగే ఏవైనా అపార్థాలు లేదా మిస్అర్థాలు గురించి మేము బాధ్యత తీసుకోవడం లేదు.


