فهرست مطالب:
- مرحله 1: فایل های سرصفحه
- مرحله 2: ضبط ویدئو
- مرحله 3: ضبط قاب و تعیین رنگ
- مرحله 4: ماسک زدن و استخراج
- مرحله 5: در نهایت نمایش
- مرحله 6: نسخه ی نمایشی
تصویری: تشخیص رنگ ساده با استفاده از OpenCV: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
سلام! امروز من قصد دارم یک روش ساده برای تشخیص رنگ از یک فیلم زنده با استفاده از OpenCV و پایتون نشان دهم.
اساساً من فقط رنگ مورد نیاز را در قاب پس زمینه آزمایش می کنم یا نه و با استفاده از ماژول های OpenCV آن منطقه را ماسک می کنم و همزمان قاب را نمایش می دهم.
مرحله 1: فایل های سرصفحه
در اینجا من از دو فایل سرصفحه به نام cv2 و NumPy استفاده کرده ام. در اصل cv2 کتابخانه OpenCV است که همه فایلهای c ++ را که هنگام استفاده از دستورات در کدها مهم هستند بارگذاری می کند (شامل همه تعاریف است).
و Numpy یک کتابخانه پایتون است که برای ذخیره یک آرایه چند بعدی ضروری است. ما از مختصات محدوده رنگ خود برای ذخیره استفاده خواهیم کرد.
و numpy as np اساسا به کد ما کمک می کند تا با استفاده از np هر بار به جای numpy کمی کوتاه شود.
مرحله 2: ضبط ویدئو
این در هنگام استفاده از پایتون بسیار ساده است. در اینجا ما فقط باید ضبط ویدئو را روشن کنیم تا بتواند ضبط فریم ها را شروع کند.
اکنون مقدار داخل VideoCapture نشان دهنده دوربین است ، در مورد من دوربین به لپ تاپ من متصل است ، بنابراین 0.
برای دوربین ثانویه و غیره می توانید مشابه 1 بروید. VideoCapture برای آن شی ایجاد می کند.
مرحله 3: ضبط قاب و تعیین رنگ
اکنون در اینجا ما باید کاری انجام دهیم تا بتوانیم فریم فوری ویدئو را ضبط کنیم که به ما در استخراج تصویر کمک می کند و می توانیم بر اساس نیاز بر روی آن کار کنیم.
حلقه "while" به ما کمک می کند تا حلقه را به زمان مورد نیاز خود اجرا کنیم. اکنون "_، frame = cap.read ()" برای بررسی اعتبار قاب گرفته شده و ذخیره آن استفاده می شود. "cap.read () یک متغیر بولی است و اگر فریم به درستی خوانده شود true باز می گرداند و اگر هیچ فریمی دریافت نکنید هیچ خطایی نشان نمی دهد ، به سادگی None را دریافت خواهید کرد.
اکنون خط 11 و خط 12 اساساً محدوده رنگی را که باید تشخیص دهیم ، مشخص می کند. برای این کار ، من از رنگ آبی استفاده کرده ام.
شما می توانید با هر رنگی که نیاز دارید فقط مقادیر BGR را برای آن رنگ خاص تایپ کنید. بهتر است دو آرایه با استفاده از آرایه های بی حس تعریف کنیم زیرا تشخیص یک رنگ خاص در دنیای واقعی هدف ما را برآورده نمی کند بلکه ما طیفی از رنگ آبی را طوری تعریف می کنیم که در محدوده تشخیص دهد.
برای این منظور ، من دو متغیر برای ذخیره مقادیر BGR پایین و مقادیر BGR بالا تعریف کرده ام.
مرحله 4: ماسک زدن و استخراج
اکنون وظیفه اصلی ماسک زدن قاب و استخراج رنگ قاب به میان می آید. من از دستورات از پیش تعریف شده موجود در کتابخانه در OpenCV برای انجام ماسک استفاده کردم. اساساً پوشاندن فرآیند حذف قسمتی از قاب است ، یعنی پیکسل هایی را که رنگ BGR آنها در محدوده رنگ تعریف شده نیست حذف می کنیم و این توسط cv2.inRange انجام می شود. پس از آن ، بسته به مقادیر پیکسل ، محدوده رنگ را بر روی تصویر پوشانده شده اعمال می کنیم و برای این کار از cv2.bitwise_and استفاده می کنیم. این بسته به ماسک و مقادیر محدوده رنگ ، به سادگی رنگها را به منطقه پوشانده شده اختصاص می دهد.
پیوند برای cv2. bitwise_and:
مرحله 5: در نهایت نمایش
در اینجا من از cv2.imshow () اصلی برای نمایش هر فریم به عنوان تصویر استفاده کرده ام. از آنجا که من داده های فریم را در متغیرها ذخیره کرده ام ، می توانم آنها را در imshow () بازیابی کنم. در اینجا من هر سه قاب اصلی ، نقاب دار و رنگی را نمایش داده ام.
حال باید از حلقه while خارج شویم. برای این کار ، ما به سادگی می توانیم cv2.wait. Key () را پیاده سازی کنیم. اساساً زمان انتظار را قبل از پاسخگویی بیان می کند. بنابراین اگر صفر را رد کنید بی نهایت منتظر می ماند و 0xFF می گوید معماری 64 بیت است. "ord ()" کاراکتری را مشخص می کند که با فشردن آن دستور break در if اجرا می شود و از حلقه خارج می شود.
سپس cap.release () ضبط کننده ویدیو را می بندد و cv2.destroyAllWindows () همه پنجره های باز شده را می بندد.
اگر مشکلی دارید ، لطفاً به من اطلاع دهید.
پیوند به کد منبع:
توصیه شده:
دستگاه رنگ تشخیص رنگ: 4 مرحله
ماشین رنگ تشخیص رنگ: دستگاه تشخیص رنگ ، رنگهای اطراف خود را کپی کرده و به شما اجازه می دهد با آنها نقاشی کنید. اگر رنگ اصلی را دارید ، می توانید از حسگر رنگ RGB برای تشخیص رنگ مورد نظر خود و مخلوط کردن آن استفاده کنید. اما به یاد داشته باشید ، از شیء رنگ روشن استفاده کنید
تشخیص رنگ در پایتون با استفاده از OpenCV: 8 مرحله
تشخیص رنگ در پایتون با استفاده از OpenCV: سلام! این دستورالعمل برای راهنمایی نحوه استخراج یک رنگ خاص از یک تصویر در پایتون با استفاده از کتابخانه openCV استفاده می شود. اگر تازه با این تکنیک آشنا شدید ، نگران نباشید ، در پایان این راهنما می توانید رنگ دلخواه خود را برنامه ریزی کنید
تشخیص و تشخیص چهره - Arduino Face ID با استفاده از OpenCV Python و Arduino .: 6 مرحله
تشخیص و تشخیص چهره | شناسه صورت آردوینو با استفاده از OpenCV پایتون و آردوینو.: تشخیص چهره AK ID چهره یکی از مهمترین ویژگی های تلفن های همراه امروزه است. بنابراین ، من یک سوال داشتم & quot؛ آیا می توانم برای پروژه آردوینو خود شناسه چهره داشته باشم & quot؛ و پاسخ بله است … سفر من به شرح زیر آغاز شد: مرحله 1: دسترسی به ما
چراغ های LED چند رنگ رنگ Reactive - سنسور تشخیص صدا آردوینو - نوار LED RGB: 4 مرحله
چراغ های LED چندرنگ Reactive Music | سنسور تشخیص صدا آردوینو | RGB LED Strip: پروژه چراغ های LED چند رنگ LED فعال در برابر موسیقی. در این پروژه ، از یک نوار LED 5050 RGB ساده (نه LED WS2812 آدرس پذیر) ، سنسور تشخیص صدا آردوینو و آداپتور 12 ولت استفاده شد
پردازش ساده Uldar (تشخیص و تشخیص اولتراسونیک): 3 مرحله
پردازش ساده Uldar (تشخیص و رتبه بندی اولتراسونیک): این یک پروژه ساده است که از Arduino UNO و Processing برای ایجاد یک لیدار ساده استفاده می کند. Lidar (همچنین LIDAR ، LiDAR و LADAR نیز نامیده می شود) یک روش نقشه برداری است که با روشن کردن فاصله تا یک هدف را اندازه گیری می کند. هدف با نور لیزری پالس و اندازه گیری