溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python如何實現(xiàn)簡單顏色識別程序

發(fā)布時間:2021-03-23 12:59:48 來源:億速云 閱讀:721 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)python如何實現(xiàn)簡單顏色識別程序的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體內(nèi)容如下

import numpy as np
import cv2
font= cv2.FONT_HERSHEY_SIMPLEX
lower_red=np.array([0,127,128])#紅色閾值下界
higher_red=np.array([10,255,255])#紅色閾值上界
lower_green=np.array([35,110,106])#綠色閾值下界
higher_green=np.array([77,255,255])#綠色閾值上界
cap=cv2.VideoCapture(0)#打開電腦內(nèi)置攝像頭
if(cap.isOpened()):
 while(True):
  ret,frame=cap.read()#按幀讀取,這是讀取一幀
  img_hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
  mask_red=cv2.inRange(img_hsv,lower_red,higher_red)#可以認為是過濾出紅色部分,獲得紅色的掩膜
  mask_green=cv2.inRange(img_hsv,lower_green,higher_green)#獲得綠色部分掩膜
  mask_green = cv2.medianBlur(mask_green, 7) # 中值濾波
  mask_red = cv2.medianBlur(mask_red, 7) # 中值濾波
  mask=cv2.bitwise_or(mask_green,mask_red)#三部分掩膜進行按位或運算
  image1,cnts1,hierarchy1=cv2.findContours(mask_red,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)#輪廓檢測
  image3,cnts3,hierarchy3=cv2.findContours(mask_green,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)

  for cnt in cnts1:
   (x,y,w,h)=cv2.boundingRect(cnt)#該函數(shù)返回矩陣四個點
   cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)#將檢測到的顏色框起來
   cv2.putText(frame,'red',(x,y-5),font,0.7,(0,0,255),2)

  for cnt in cnts3:
   (x, y, w, h) = cv2.boundingRect(cnt) # 該函數(shù)返回矩陣四個點
   cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) # 將檢測到的顏色框起來
   cv2.putText(frame, 'green', (x, y - 5), font, 0.7, (0,255,0), 2)
  cv2.imshow('frame',frame)
  k=cv2.waitKey(20)&0xFF
  if k ==27:
   break

cv2.waitKey(0)
cv2.destroyAllWindows()

我發(fā)現(xiàn)只要多于兩種顏色識別起來誤差就極大極大,等以后學(xué)到會回來進行優(yōu)化的。目前識別兩種顏色還是比較穩(wěn)的。

python如何實現(xiàn)簡單顏色識別程序

感謝各位的閱讀!關(guān)于“python如何實現(xiàn)簡單顏色識別程序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI