![Откриване на цвят в Python с помощта на OpenCV: 8 стъпки Откриване на цвят в Python с помощта на OpenCV: 8 стъпки](https://i.howwhatproduce.com/images/007/image-18629-j.webp)
Съдържание:
- Консумативи
- Стъпка 1: Импортиране на библиотеки
- Стъпка 2: Създаване на ленти за следи
- Стъпка 3: Създаване на TrackBars за нюанс, наситеност и стойност
- Стъпка 4: Как да прочетете и преоразмерите изображението
- Стъпка 5: Четене на стойностите на лентата за проследяване, за да се приложи към изображение
- Стъпка 6: Показване на изображение и задаване на горна и долна граница
- Стъпка 7: Сега последната стъпка
- Стъпка 8: Крайни резултати
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57
![Image Image](https://i.howwhatproduce.com/images/007/image-18629-2-j.webp)
![](https://i.ytimg.com/vi/MrkJVJ9ESOc/hqdefault.jpg)
Здравейте! Тази инструкция се използва, за да ръководи как да извлечете определен цвят от изображение в python, използвайки библиотека openCV. Ако не сте нови в тази техника, не се притеснявайте, в края на това ръководство ще можете да програмирате вашата собствена програма за откриване на цвят.
Следват функциите или можем да кажем техники, които ще научите, 1. Как да прочетете изображение
2. Как да създадете ленти за следи
3. Как да регулирате стойността на Hue, Saturation и стойността на изображението с помощта на ленти за песен
4. И тогава ще има крайния резултат
Можете да гледате видеоклипа на изхода, който съм приложил по -долу.
Така че нека започнем
Консумативи
- Python 3
- библиотека на openCV
- numpy библиотека
Стъпка 1: Импортиране на библиотеки
![Импортиране на библиотеки Импортиране на библиотеки](https://i.howwhatproduce.com/images/007/image-18629-3-j.webp)
Изображението е от жълто ферари, както е показано и ние ще програмираме да извлечем само жълт цвят от това изображение
Първата стъпка ще бъде импортирането на нашите библиотеки
1. Включително библиотека openCV. Нарича се cv2 в python
2. Включване на numpy библиотека като np. "As" ни позволява да ни numpy като np, така че няма нужда да пишем numpy отново и отново
Стъпка 2: Създаване на ленти за следи
![Създаване на ленти за следи Създаване на ленти за следи](https://i.howwhatproduce.com/images/007/image-18629-4-j.webp)
Лентовите ленти са създадени, за да коригират стойността на Hue, Saturation и Value в изображението.
cv2. namedWindow ("TrackBars") Този ред код се използва за създаване на нов изходен прозорец и името на прозореца се дава като TrackBars (Можете да дадете всяко име, което искате)
cv2.resizeWindow ("TrackBars", 600, 250) Тази функция се използва за преоразмеряване на прозорец. "TrackBars" е за прозореца, който искате да преоразмерите, тъй като исках да преоразмеря прозореца на TrackBars, написал съм това име. Следват две цели числа. Тези две цели числа са ширината и височината. Можете да играете с тези две числа, за да промените размера
Стъпка 3: Създаване на TrackBars за нюанс, наситеност и стойност
![Създаване на TrackBars за нюанс, наситеност и стойност Създаване на TrackBars за нюанс, наситеност и стойност](https://i.howwhatproduce.com/images/007/image-18629-5-j.webp)
![Създаване на TrackBars за нюанс, наситеност и стойност Създаване на TrackBars за нюанс, наситеност и стойност](https://i.howwhatproduce.com/images/007/image-18629-6-j.webp)
Сега ще създаваме общо 6 TrackBars за Hue, Saturation и стойност. Всеки ще има два, т.е. 1 за минимум и 1 за максимум. Ще използваме функцията createTrackbar на openCV. Първо ще видим синтаксиса на тази функция.
cv2.createTrackbar ("WINDOWNAME", "MAINWINDOWNAME", "RANGE"). Това може да е объркващо, но не се притеснявайте, че ще преминем през всяка стъпка. Имайте предвид едно нещо, че в openCV стойностите на hue са 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 ("Hue max", "TrackBars", 179, 179, празно)
В този Hue max е името на лентата за проследяване, TrackBars е основният прозорец, 179 е позицията, на която ще бъде нашият плъзгач, а 179 е максималният обхват означава, че плъзгачът ще се премести от 179-0
3. По същия начин повторете стъпките за sat min, sat max, val min и val max, както е показано на изображението
Изображението с бял фон е изходното изображение. Ето как ще изглеждат вашите ленти
Стъпка 4: Как да прочетете и преоразмерите изображението
![Как да прочетете и преоразмерите изображението Как да прочетете и преоразмерите изображението](https://i.howwhatproduce.com/images/007/image-18629-7-j.webp)
cv2.imread () ви позволява да прочетете изображението. Една важна мисъл, която трябва да имате предвид, че местоположението на вашето изображение трябва да е в същата папка, където е записана програмата. Ще включим цикъл while, защото той трябва да работи, докато не чете изображението или можем да кажем, докато условието е вярно
img = cv2.imread ("ferrari.jpg")
- В това създадох променливо име "img", в което съхранявам изображението
- Вътре в cv2.imread напишете името на изображението с неговото разширение в двойни кавички
За да промените размера на изображението, ще използваме функцията cv2.resize. Тази част е по избор, ако искате да промените размера, можете да използвате тази функция
Вътре в cv2.resize първо напишете името на променливата, в която се съхранява изображението, а след това нейната ширина и височина
Стъпка 5: Четене на стойностите на лентата за проследяване, за да се приложи към изображение
![Четене на стойностите на лентата за проследяване, за да се приложи към изображение Четене на стойностите на лентата за проследяване, за да се приложи към изображение](https://i.howwhatproduce.com/images/007/image-18629-8-j.webp)
![Четене на стойностите на лентата за проследяване, за да се приложи към изображение Четене на стойностите на лентата за проследяване, за да се приложи към изображение](https://i.howwhatproduce.com/images/007/image-18629-9-j.webp)
Добре, така че сега ще прочетем стойностите на лентата за проследяване, за да можем да я приложим към нашето изображение. Ще получим стойностите с помощта на функцията 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: Показване на изображение и задаване на горна и долна граница
![Показване на изображение и настройка на горна и долна граница Показване на изображение и настройка на горна и долна граница](https://i.howwhatproduce.com/images/007/image-18629-10-j.webp)
Сега имаме минималната и максималната стойност на нюанса, наситеността и стойността, която ще използваме тази стойност, за да филтрираме изображението, за да можем да определим конкретния цветен изход на изображението.
Ще създадем маска за това с помощта на функцията cv2.inRange. И преди това ще зададем горната и долната граница на нюанс, наситеност и стойност
Така че създайте име на променлива "lower" и използвайте 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 1 -вият аргумент ще бъде променливата, в която се съхранява крайното ми изображение, 2 -рият аргумент ще бъде долната граница, а 3 -тият аргумент ще бъде горната граница.
Сега ще покажем основното изображение и маската. За показване ще използваме функцията cv2.imshow ()
cv2.imshow ("img", преоразмеряване) Това е за показване на основното изображение. Първият аргумент е името на прозореца, който можете да дадете каквото искате, а вторият аргумент е променлива, в която се съхранява основното ми изображение, което искате да покажете.
По същия начин повторете стъпките за маска
cv2.imshow ("Изход", маска)
Стъпка 7: Сега последната стъпка
![Сега последната стъпка Сега последната стъпка](https://i.howwhatproduce.com/images/007/image-18629-11-j.webp)
В тази последна стъпка ще извлечем цвета на колата и дисплея.
Създадох резултат с име на променлива. Отново можете да дадете каквото искате име. Така че ще използваме функцията cv2.bitwise_and (), в която ще добавяме към изображения заедно и създаваме ново изображение. И където и пикселите в двете изображения присъстват, това ще се приеме като „да“или „1“.
резултат = cv2.bitwise_and (преоразмеряване, преоразмеряване, маска = маска)
- В това първият аргумент ще бъде нашето изображение
- Вторият аргумент също ще бъде оригиналното ни изображение, но последвано от приложена маска, която създадохме преди
- И накрая просто покажете резултата с помощта на функцията imshow
Просто копирайте поставете тази последна стъпка, това е просто забавяне и можете да излезете от изходния прозорец, като натиснете „a“на клавиатурата
Стъпка 8: Крайни резултати
Препоръчано:
Машина за боядисване за откриване на цвят: 4 стъпки
![Машина за боядисване за откриване на цвят: 4 стъпки Машина за боядисване за откриване на цвят: 4 стъпки](https://i.howwhatproduce.com/images/007/image-18479-j.webp)
Машина за боядисване за откриване на цвят: Машината за боядисване на цветове копира цветовете около вас и ви позволява да рисувате с тях. Ако имате боя с първични цветове, можете да използвате сензора за цвят RGB, за да усетите желания от вас цвят и да го смесите. Но не забравяйте, използвайте обект с ярък цвят
Просто откриване на цвят с помощта на OpenCV: 6 стъпки
![Просто откриване на цвят с помощта на OpenCV: 6 стъпки Просто откриване на цвят с помощта на OpenCV: 6 стъпки](https://i.howwhatproduce.com/images/007/image-18589-j.webp)
Просто откриване на цвят с помощта на OpenCV: Здравейте! Днес ще покажа един прост метод за откриване на цвят от видео на живо с помощта на OpenCV и python. По принцип просто ще тествам необходимия цвят присъства във фоновата рамка или не и с помощта на OpenCV модули ще маскирам този регион и
Проследяване на обекти въз основа на откриване на цвят: 10 стъпки
![Проследяване на обекти въз основа на откриване на цвят: 10 стъпки Проследяване на обекти въз основа на откриване на цвят: 10 стъпки](https://i.howwhatproduce.com/images/009/image-24434-j.webp)
Проследяване на обекти въз основа на откриване на цвят: История Направих този проект, за да науча обработката на изображения с помощта на Raspberry PI и отворена автобиография. За да направя този проект по -интересен, използвах два сервомотора SG90 и монтирам камера върху него. Един двигател, използван за хоризонтално движение, и втори двигател, използван за вертикално
Откриване на обекти W/ Dragonboard 410c или 820c с помощта на OpenCV и Tensorflow .: 4 стъпки
![Откриване на обекти W/ Dragonboard 410c или 820c с помощта на OpenCV и Tensorflow .: 4 стъпки Откриване на обекти W/ Dragonboard 410c или 820c с помощта на OpenCV и Tensorflow .: 4 стъпки](https://i.howwhatproduce.com/images/003/image-6246-2-j.webp)
Object Detection W/ Dragonboard 410c или 820c Използване на OpenCV и Tensorflow .: Тази инструкция описва как да инсталирате OpenCV, Tensorflow и рамки за машинно обучение за Python 3.5, за да стартирате приложението Object Detection
Откриване на цвят с помощта на RGB LED: 4 стъпки
![Откриване на цвят с помощта на RGB LED: 4 стъпки Откриване на цвят с помощта на RGB LED: 4 стъпки](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10967374-color-detection-using-rgb-led-4-steps-j.webp)
Цветно разпознаване с помощта на RGB LED: Искали ли сте някога автоматизиран начин за откриване на цвета на обект? Като осветявате обекта с определен цвят и гледате колко светлина се отразява обратно, можете да определите какъв цвят е обектът. Например, ако светите червена светлина