8.7 KiB
تصویر حاصل کریں - ورچوئل IoT ہارڈویئر
اس سبق کے اس حصے میں، آپ اپنے ورچوئل IoT ڈیوائس میں کیمرہ سینسر شامل کریں گے اور اس سے تصاویر پڑھیں گے۔
ہارڈویئر
ورچوئل IoT ڈیوائس ایک سیمولیٹڈ کیمرہ استعمال کرے گا جو یا تو فائلز سے تصاویر بھیجے گا یا آپ کے ویب کیم سے۔
CounterFit میں کیمرہ شامل کریں
ورچوئل کیمرہ استعمال کرنے کے لیے، آپ کو اسے CounterFit ایپ میں شامل کرنا ہوگا۔
کام - CounterFit میں کیمرہ شامل کریں
CounterFit ایپ میں کیمرہ شامل کریں۔
-
اپنے کمپیوٹر پر
fruit-quality-detector
نامی فولڈر میں ایک نیا Python ایپ بنائیں، جس میں ایک فائلapp.py
ہو اور Python ورچوئل ماحول ہو، اور CounterFit pip پیکجز شامل کریں۔⚠️ اگر ضرورت ہو تو سبق 1 میں CounterFit Python پروجیکٹ بنانے اور سیٹ اپ کرنے کے لیے ہدایات دیکھ سکتے ہیں۔
-
ایک اضافی Pip پیکج انسٹال کریں تاکہ CounterFit shim انسٹال ہو سکے جو کیمرہ سینسرز سے بات کر سکے اور کچھ Picamera Pip پیکج کو سیمولیٹ کرے۔ یقینی بنائیں کہ آپ یہ انسٹالیشن ورچوئل ماحول کے ساتھ ایکٹیویٹڈ ٹرمینل سے کر رہے ہیں۔
pip install counterfit-shims-picamera
-
یقینی بنائیں کہ CounterFit ویب ایپ چل رہی ہے۔
-
کیمرہ بنائیں:
-
Sensors پین میں Create sensor باکس میں جائیں، Sensor type ڈراپ ڈاؤن کریں اور Camera منتخب کریں۔
-
Name کو
Picamera
پر سیٹ کریں۔ -
کیمرہ بنانے کے لیے Add بٹن منتخب کریں۔
کیمرہ بنایا جائے گا اور سینسرز کی فہرست میں ظاہر ہوگا۔
-
کیمرہ پروگرام کریں
ورچوئل IoT ڈیوائس کو اب ورچوئل کیمرہ استعمال کرنے کے لیے پروگرام کیا جا سکتا ہے۔
کام - کیمرہ پروگرام کریں
ڈیوائس کو پروگرام کریں۔
-
یقینی بنائیں کہ
fruit-quality-detector
ایپ VS Code میں کھلی ہوئی ہے۔ -
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
آبجیکٹ سے تمام ڈیٹا پڑھتا ہے اور اسے فائل میں لکھتا ہے۔💁 آپ تصویر کو براہ راست فائل میں محفوظ کر سکتے ہیں بجائے
BytesIO
آبجیکٹ کے، فائل کا نامcamera.capture
کال میں پاس کر کے۔BytesIO
آبجیکٹ استعمال کرنے کی وجہ یہ ہے کہ بعد میں اس سبق میں آپ تصویر کو اپنے امیج کلاسفائر کو بھیج سکیں۔ -
CounterFit میں کیمرہ کے لیے تصویر کو کنفیگر کریں۔ آپ Source کو File پر سیٹ کر سکتے ہیں، پھر ایک تصویر اپلوڈ کریں، یا Source کو WebCam پر سیٹ کریں، اور تصاویر آپ کے ویب کیم سے حاصل ہوں گی۔ یقینی بنائیں کہ تصویر منتخب کرنے یا ویب کیم منتخب کرنے کے بعد Set بٹن منتخب کریں۔
-
ایک تصویر حاصل کی جائے گی اور
image.jpg
کے طور پر موجودہ فولڈر میں محفوظ کی جائے گی۔ آپ یہ فائل VS Code ایکسپلورر میں دیکھیں گے۔ فائل منتخب کریں تاکہ تصویر دیکھ سکیں۔ اگر اسے روٹیشن کی ضرورت ہو، توcamera.rotation = 0
لائن کو مناسب طریقے سے اپڈیٹ کریں اور دوبارہ تصویر لیں۔
💁 آپ یہ کوڈ code-camera/virtual-iot-device فولڈر میں دیکھ سکتے ہیں۔
😀 آپ کا کیمرہ پروگرام کامیاب رہا!
ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔