
Мазмұны:
- Жабдықтар
- 1 -қадам: Кітапханаларды импорттау
- 2 -қадам: жолақтарды құру
- 3 -қадам: реңк, қанықтылық және мән үшін TrackBars құру
- 4 -қадам: Суретті қалай оқуға және өлшемін өзгертуге болады
- 5 -қадам: Суретке қолдану үшін жолақ мәндерін оқу
- 6 -қадам: кескінді көрсету және жоғарғы және төменгі шекті орнату
- 7 -қадам: Енді соңғы қадам
- 8 -қадам: Қорытынды нәтижелер
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51


Сәлеметсіз бе! Бұл нұсқаулық OpenCV кітапханасын қолдана отырып, питондағы суреттен белгілі бір түсті қалай алу керектігін түсіндіру үшін қолданылады. Егер сіз бұл техниканы жаңадан білсеңіз, алаңдамаңыз, бұл нұсқаулықтың соңында сіз өзіңіздің түстерді анықтау бағдарламасын жасай аласыз.
Төменде функциялар берілген немесе сіз үйренетін әдістерді айта аламыз, 1. Суретті қалай оқу керек
2. Жолақтарды қалай құру керек
3. Реңк, қанықтылық және кескіннің мәнін жолақтарды қолдану арқылы қалай реттеуге болады
4. Содан кейін сіздің соңғы нәтижеңіз болады
Сіз төменде мен қосқан шығарылымның бейнесін көре аласыз.
Ендеше бастайық
Жабдықтар
- Python 3
- openCV кітапханасы
- numpy кітапханасы
1 -қадам: Кітапханаларды импорттау

Сурет суретте көрсетілгендей сары феррари болып табылады және біз бұл суреттен тек сары түс алуды бағдарламалаймыз
Бірінші қадам - біздің кітапханаларды импорттау
1. OpenCV кітапханасы бар. Питонда cv2 деп аталады
2. numpy кітапханасы np ретінде қосылады. «As» бізге бізге np ретінде numpy жасауға мүмкіндік береді, сондықтан numpy қайта -қайта жазудың қажеті жоқ
2 -қадам: жолақтарды құру

Жолақ жолақтар суреттегі реңк, қанықтылық және мән мәнін реттеу үшін жасалады.
cv2.namedWindow («TrackBars») Бұл код жолы жаңа шығару терезесін жасау үшін пайдаланылады және терезенің атауы TrackBars түрінде беріледі (Сіз қалаған атауды бере аласыз)
cv2.resizeWindow («TrackBars», 600, 250) Бұл функция терезенің өлшемін өзгерту үшін қолданылады. «TrackBars» - бұл терезенің өлшемін өзгерткіңіз келетін терезе, себебі мен TrackBars терезесінің өлшемін өзгерткім келді, мен бұл атауды жаздым. Одан кейін екі бүтін сандар. Бұл екі бүтін сан - ені мен биіктігі. Өлшемді өзгерту үшін осы екі санмен ойнауға болады
3 -қадам: реңк, қанықтылық және мән үшін TrackBars құру


Енді біз реңк, қанықтылық және мән үшін 6 TrackBars құрамыз. Әрқайсысында екі болады, яғни минимумға 1 және максимумға 1. Біз openCV -тің createTrackbar функциясын қолданамыз. Алдымен біз бұл функцияның синтаксисін көреміз.
cv2.createTrackbar («WINDOWNAME», «MAINWINDOWNAME», «RANGE»). Бұл түсініксіз болуы мүмкін, бірақ біз әр қадамнан өтеміз деп уайымдамаңыз. OpenCV -де реңк мәндері 179, қанықтылық 255 және мән 255 екенін есте сақтаңыз.
1. Реңк үшін TrackBar құру:
cv2.createTrackbar («Hue min», «TrackBars», 0, 179, бос)
Бұл реңкте мин-бұл жолақ атауы, TrackBars-негізгі терезе, 0-біздің жүгірткі болатын орын және 179-бұл диапазон 0-179-дан жылжиды дегенді білдіреді
2. Максималды реңк үшін TrackBar құру:
cv2.createTrackbar («Hue max», «TrackBars», 179, 179, бос)
Бұл реңкте max-бұл жолақ атауы, TrackBars-негізгі терезе, 179-бұл біздің жүгірткі болатын орын және 179-максималды диапазон, бұл силлер 179-0-ден жылжиды.
3. Сол сияқты суретте көрсетілгендей сат 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 («Реңк мин», «TrackBars»)
Жоғарыдағы мәлімдемеде мен h_min айнымалы атын құрамын, онда мен Hue min мәнін сақтаймын. Cv2.getTrackbarPos ішіндегі 1 -ші аргумент «Hue min» болады, себебі мен реңк min мәндерін алғым келеді (емлесі createTrackbar функциясымен дәл сәйкес болуы керек) және 2 -аргумент ол тиесілі бақылау жолағы терезесінің атауы болар еді.
- Жоғарыдағы суретте көрсетілгендей h_max және қалған функциялар үшін бірдей процесті қайталаңыз, содан кейін print () көмегімен барлық мәндерді басып шығарыңыз.
- Шығару екінші суретте көрсетілген. Ол h_min, h_max, s_min, s_max, v_min, s_max мәндерін басып шығарады
6 -қадам: кескінді көрсету және жоғарғы және төменгі шекті орнату

Енді бізде реңктің, қанықтылық пен мәннің минималды және максималды мәні бар, біз бұл мәнді суретті сүзу үшін қолданамыз, осылайша суреттің нақты түс шығаруын жасай аламыз.
Біз бұл үшін cv2.inRange функциясын қолданып маска жасаймыз. Ал бұған дейін біз реңктің, қанықтылық пен мәннің жоғарғы және төменгі шегін орнатамыз
Сондықтан «төменгі» айнымалы атауын жасаңыз және numpy массивінің функциясын қолданып, барлық 3 үшін мин диапазонын төмендегідей орнатыңыз
төменгі = np.array ([h_min, s_min, v_min])
Сол қадамды жоғарғы жақ үшін қайталаңыз
жоғарғы = np.array ([h_max, s_max, v_max])
Енді біз келесідей маска жасаймыз
маска = cv2.inRange (өлшемін өзгерту, төменгі, үстіңгі) cv2.inRang ішінде 1 -ші аргумент менің соңғы кескінім сақталатын айнымалы болады, 2 -ші аргумент төменгі шекті, 3 -ші аргумент жоғарғы шегі болады.
Енді біз негізгі сурет пен масканы көрсетеміз. Көрсету үшін cv2.imshow () функциясын қолданамыз
cv2.imshow («img», өлшемін өзгерту) Бұл негізгі кескінді көрсету үшін. 1 -аргумент - сіз қалаған атауды бере алатын терезенің атауы, ал 2 -аргумент - бұл менің негізгі кескінім сақталатын айнымалы, сіз көрсеткіңіз келеді.
Сол сияқты маскаға арналған қадамдарды қайталаңыз
cv2.imshow («Шығу», маска)
7 -қадам: Енді соңғы қадам

Бұл соңғы қадамда біз көліктің түсін шығарып, дисплейге шығарамыз.
Мен айнымалы атаудың нәтижесін жасадым. Тағы да сіз қалаған атауды бере аласыз. Сондықтан біз cv2.bitwise_and () функциясын қолданатын боламыз, онда біз суреттерді бірге қосамыз және жаңа кескін жасаймыз. Екі суреттегі пиксельдер қай жерде болса да, оны иә немесе «1» деп қабылдайды.
нәтиже = cv2.bitwise_and (өлшемін өзгерту, өлшемін өзгерту, маска = маска)
- Бұл жағдайда 1 -ші дәлел біздің имиджіміз болады
- Екінші аргумент - бұл біздің түпнұсқа кескініміз, бірақ одан кейін біз бұрын жасаған маска болады
- Ақырында нәтижені imshow функциясын қолдана отырып көрсетіңіз
Бұл соңғы қадамды көшіріп алыңыз, бұл кідіріс және сіз пернетақтадағы «а» түймесін басу арқылы шығыс терезесінен шыға аласыз
8 -қадам: Қорытынды нәтижелер
Ұсынылған:
OpenCV көмегімен қарапайым түсті анықтау: 6 қадам

OpenCV көмегімен қарапайым түсті анықтау: Сәлеметсіз бе! Бүгін мен OpenCV мен python көмегімен тірі бейнеден түс табудың қарапайым әдісін көрсетпекпін. Негізінде мен қажетті түстің фондық фреймде бар -жоғын тексеремін, ал OpenCV модульдерін қолдана отырып, мен бұл аймақты маскирлеймін және
Музыкалық реактивті көп түсті жарықдиодты шамдар - Arduino дыбысты анықтау сенсоры - RGB жарық диодты жолағы: 4 қадам

Музыкалық реактивті көп түсті жарықдиодты шамдар | Arduino дыбысты анықтау сенсоры | RGB жарық диодты жолағы: Музыкалық реактивті көп түсті жарықдиодты шамдар жобасы. Бұл жобада 5050 RGB жарықдиодты жолағы (WS2812 мекен -жайы жоқ), Arduino дыбысты анықтау сенсоры мен 12В адаптері қолданылды
OpenCV мен Tensorflow көмегімен Dragonboard 410c немесе 820c нысандарын анықтау: 4 қадам

OpenCV мен Tensorflow көмегімен Dragonboard 410c немесе 820c нысандарын анықтау: Бұл нұсқаулықта объектілерді анықтау қосымшасын іске қосу үшін Python 3.5 үшін OpenCV, Tensorflow және машиналық оқыту жүйелерін орнату әдісі сипатталған
Raspberry Pi Zero және Opencv көмегімен бет пен көзді анықтау: 3 қадам

Raspberry Pi Zero және Opencv көмегімен бет пен көзді анықтау: Мен бұл нұсқаулықта таңқурай pi мен opencv көмегімен бет пен көзді қалай анықтауға болатынын көрсетемін. Бұл менің opencv бойынша бірінші нұсқауым. Мен таңқурайдағы ашық түйіндемені орнату үшін көптеген оқулықтарды орындадым, бірақ әр жолы қателіктер жіберілді. Қалай болғанда да мен
RGB LED көмегімен түсті анықтау: 4 қадам

RGB светодиодты қолдану арқылы түсті анықтау: Сіз объектінің түсін анықтаудың автоматтандырылған әдісін алғыңыз келді ме? Нәрсеге белгілі бір түстің жарығын түсіріп, артқа қанша сәуле шағылатынын қарап, сіз заттың қандай түсті екенін біле аласыз. Мысалы, егер сіз қызыл шамды жансаңыз