فهرست مطالب:
- تدارکات
- مرحله 1: وارد کردن کتابخانه ها
- مرحله 2: ایجاد نوارهای آهنگ
- مرحله 3: ایجاد TrackBars برای رنگ ، اشباع و ارزش
- مرحله 4: نحوه خواندن و تغییر اندازه تصویر
- مرحله 5: خواندن مقادیر نوار آهنگ برای اعمال آن بر روی تصویر
- مرحله 6: نمایش تصویر و تنظیم حد بالا و پایین
- مرحله 7: اکنون مرحله نهایی
- مرحله 8: خروجی های نهایی
تصویری: تشخیص رنگ در پایتون با استفاده از OpenCV: 8 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
سلام! این دستورالعمل برای راهنمایی نحوه استخراج یک رنگ خاص از یک تصویر در پایتون با استفاده از کتابخانه openCV استفاده می شود. اگر تازه با این تکنیک آشنا شدید ، نگران نباشید ، در پایان این راهنما می توانید برنامه تشخیص رنگ خود را برنامه ریزی کنید.
در زیر توابع یا ما می توانیم تکنیک هایی را که شما یاد خواهید گرفت ، ذکر کنیم ،
1. نحوه خواندن تصویر
2. نحوه ایجاد نوار آهنگ
3. نحوه تنظیم مقدار Hue ، Saturation و مقدار یک تصویر با استفاده از نوارهای آهنگ
4. و سپس خروجی نهایی شما وجود خواهد داشت
می توانید ویدیوی خروجی را که در زیر ضمیمه کرده ام مشاهده کنید.
بنابراین بیایید شروع کنیم
تدارکات
- پایتون 3
- کتابخانه openCV
- کتابخانه بی حس
مرحله 1: وارد کردن کتابخانه ها
همانطور که در تصویر نشان داده شده است ، فراری زرد رنگ است و ما برنامه ریزی می کنیم که فقط رنگ زرد را از آن تصویر استخراج کنیم
اولین قدم وارد کردن کتابخانه های ما خواهد بود
1. شامل کتابخانه openCV. در پایتون cv2 نامیده می شود
2. شامل کتابخانه numpy به عنوان np. "به عنوان" به ما اجازه می دهد تا به عنوان np بی حس کنیم بنابراین نیازی به نوشتن numpy بارها و بارها نیست
مرحله 2: ایجاد نوارهای آهنگ
نوارهای آهنگ برای تنظیم مقدار Hue ، Saturation و Value در یک تصویر ایجاد می شوند.
cv2.namedWindow ("TrackBars") این خط کد برای ایجاد یک پنجره خروجی جدید استفاده می شود و نام پنجره به عنوان TrackBars (هر نامی که بخواهید می توانید وارد کنید)
cv2.resizeWindow ("TrackBars"، 600، 250) این عملکرد برای تغییر اندازه پنجره استفاده می شود. "TrackBars" برای کدام پنجره است که می خواهید اندازه آن را تغییر دهید زیرا من می خواستم اندازه پنجره TrackBars را تغییر دهم ، من آن نام را نوشتم. به دنبال دو عدد صحیح. این دو عدد صحیح عبارتند از عرض و ارتفاع. برای تغییر اندازه می توانید با این دو عدد بازی کنید
مرحله 3: ایجاد TrackBars برای رنگ ، اشباع و ارزش
اکنون ما در مجموع 6 TrackBars برای رنگ ، اشباع و ارزش ایجاد خواهیم کرد. هر کدام دارای دو مورد یعنی 1 برای حداقل و 1 برای حداکثر خواهد بود. ما از تابع createTrackbar OpenCV استفاده خواهیم کرد. ابتدا نحو این تابع را خواهیم دید.
cv2.createTrackbar ("WINDOWNAME" ، "MAINWINDOWNAME" ، "RANGE"). این ممکن است گیج کننده باشد اما نگران نباشید ما هر مرحله را طی می کنیم. یک نکته را در نظر داشته باشید که در openCV مقادیر رنگ 179 ، اشباع 255 و مقدار 255 است
1. ایجاد TrackBar برای hue min:
cv2.createTrackbar ("Hue min" ، "TrackBars" ، 0 ، 179 ، خالی)
در این Hue min نام نوار آهنگ ، TrackBars پنجره اصلی ، 0 موقعیتی است که نوار لغزنده ما روی آن قرار دارد و 179 محدوده ای است که نشان می دهد سیلدر از 0-179 حرکت می کند
2. ایجاد TrackBar برای hue max:
cv2.createTrackbar ("حداکثر رنگ" ، "TrackBars" ، 179 ، 179 ، خالی)
در این Hue max نام نوار آهنگ ، TrackBars پنجره اصلی ، 179 موقعیتی است که نوار لغزنده ما روی آن قرار دارد و 179 حداکثر دامنه به این معنی است که سیلدر از 179-0 حرکت می کند
3. به طور مشابه مراحل مربوط به sat min ، sat max ، val min و val max را همانطور که در تصویر نشان داده شده است تکرار کنید
تصویر با پس زمینه سفید تصویر خروجی است. نوارهای آهنگ شما اینگونه ظاهر می شوند
مرحله 4: نحوه خواندن و تغییر اندازه تصویر
cv2.imread () به شما امکان می دهد تصویر را بخوانید. یک فکر مهم باید به خاطر داشته باشید که محل عکس شما باید در همان پوشه ای باشد که برنامه ذخیره شده است. ما حلقه while را وارد می کنیم زیرا باید تا زمان خواندن تصویر اجرا شود یا می توانیم بگوییم تا زمانی که شرط درست شود
img = cv2.imread ("ferrari.jpg")
- در این قسمت من یک نام متغیر "img" ایجاد کرده ام که در آن تصویر را ذخیره می کنم
- داخل cv2.imread نام تصویر را با پسوند آن در داخل دو نقل قول بنویسید
برای تغییر اندازه تصویر از تابع cv2.resize استفاده می کنیم. این قسمت اختیاری است ، اگر می خواهید اندازه را تغییر دهید ، می توانید از این عملکرد استفاده کنید
در داخل cv2.resize ابتدا نام متغیری را که تصویر در آن ذخیره شده است و سپس عرض و ارتفاع آن را بنویسید
مرحله 5: خواندن مقادیر نوار آهنگ برای اعمال آن بر روی تصویر
خوب ، اکنون ما می خواهیم مقادیر نوار آهنگ را بخوانیم تا بتوانیم آن را روی تصویر خود اعمال کنیم. با استفاده از تابع cv2.getTrackbarPos () مقادیر را دریافت می کنیم.
بیایید با آن قسمت شروع کنیم…
h_min = cv2.getTrackbarPos ("Hue min" ، "TrackBars")
در عبارت بالا من یک نام متغیر h_min ایجاد می کنم که در آن مقدار Hue min را ذخیره می کنم. بنابراین در داخل cv2.getTrackbarPos آرگومان اول "Hue min" خواهد بود زیرا من مقادیر hue min را می خواهم (املای آن باید دقیقاً مشابه تابع createTrackbar باشد) و آرگومان دوم نام پنجره نوار آهنگ است که به آن تعلق دارد.
- همان فرآیند را برای h_max و بقیه توابع همانطور که در تصویر بالا نشان داده شده است تکرار کنید و سپس همه مقادیر را با استفاده از print () چاپ کنید.
- خروجی در تصویر دوم نشان داده شده است. در حال چاپ مقادیر h_min ، h_max ، s_min ، s_max ، v_min ، s_max است
مرحله 6: نمایش تصویر و تنظیم حد بالا و پایین
در حال حاضر ما حداقل و حداکثر مقدار رنگ ، اشباع و مقدار را داریم که از این مقدار برای فیلتر کردن تصویر استفاده می کنیم تا بتوانیم خروجی رنگ خاص یک تصویر را انجام دهیم.
ما برای این کار با استفاده از تابع cv2.inRange یک ماسک ایجاد می کنیم. و قبل از آن ما حد بالا و پایین رنگ ، اشباع و ارزش را تعیین می کنیم
بنابراین یک نام متغیر "پایین" ایجاد کنید و با استفاده از تابع numpy array محدوده min را برای هر 3 مورد به صورت زیر تنظیم کنید
پایین = np.array ([h_min ، s_min ، v_min])
همین مرحله را برای قسمت بالا تکرار کنید
بالا = np.array ([h_max، s_max، v_max])
حالا ما یک ماسک به شکل زیر ایجاد می کنیم
mask = cv2.inRange (تغییر اندازه ، پایین ، بالا) در داخل cv2.inRang اولین آرگومان متغیری است که تصویر نهایی من در آن ذخیره می شود ، آرگومان دوم حد پایین و آرگومان سوم حد بالا خواهد بود.
حالا ما قصد داریم تصویر و ماسک اصلی را نمایش دهیم. برای نمایش از تابع cv2.imshow () استفاده می کنیم
cv2.imshow ("img" ، تغییر اندازه) این برای نمایش تصویر اصلی است. آرگومان اول نام پنجره ای است که می توانید هر نامی که می خواهید بگذارید و آرگومان دوم متغیر است که در آن تصویر اصلی من ذخیره شده است و می خواهید نمایش دهید.
به همین ترتیب مراحل ماسک را تکرار کنید
cv2.imshow ("خروجی" ، ماسک)
مرحله 7: اکنون مرحله نهایی
در آخرین مرحله رنگ خودرو و صفحه نمایش را استخراج می کنیم.
من یک نتیجه نام متغیر ایجاد کرده ام. دوباره می توانید هر نامی را که می خواهید بگذارید. بنابراین ما از تابع cv2.bitwise_and () استفاده می کنیم که در آن به تصاویر اضافه می کنیم و یک تصویر جدید ایجاد می کنیم. و هر جا پیکسل های هر دو تصویر وجود داشته باشد ، بله یا "1" در نظر گرفته می شود.
result = cv2.bitwise_and (تغییر اندازه ، تغییر اندازه ، mask = mask)
- در این اولین آرگومان تصویر ما خواهد بود
- آرگومان دوم نیز تصویر اصلی ما خواهد بود اما پس از آن ماسکی اعمال می شود که قبلاً ایجاد کرده بودیم
- و در نهایت فقط با استفاده از تابع imshow نتیجه را نمایش دهید
فقط آخرین مرحله را کپی کنید ، فقط یک تاخیر است و می توانید با فشار دادن "a" در صفحه کلید از پنجره خروجی خارج شوید
مرحله 8: خروجی های نهایی
توصیه شده:
دستگاه رنگ تشخیص رنگ: 4 مرحله
ماشین رنگ تشخیص رنگ: دستگاه تشخیص رنگ ، رنگهای اطراف خود را کپی کرده و به شما اجازه می دهد با آنها نقاشی کنید. اگر رنگ اصلی را دارید ، می توانید از حسگر رنگ RGB برای تشخیص رنگ مورد نظر خود و مخلوط کردن آن استفاده کنید. اما به یاد داشته باشید ، از شیء رنگ روشن استفاده کنید
تشخیص رنگ ساده با استفاده از OpenCV: 6 مرحله
تشخیص رنگ ساده با استفاده از OpenCV: سلام! امروز من قصد دارم یک روش ساده برای تشخیص رنگ از یک ویدئوی زنده با استفاده از 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 ولت استفاده شد
تشخیص گفتار با استفاده از Google Speech API و پایتون: 4 مرحله
تشخیص گفتار با استفاده از Google Speech API و Python: Speech Recognition تشخیص گفتار بخشی از پردازش زبان طبیعی است که زیر شاخه ای از هوش مصنوعی است. به بیان ساده ، تشخیص گفتار توانایی یک نرم افزار رایانه ای برای شناسایی کلمات و عبارات در زبان گفتاری است