亚洲国产爱久久全部精品_日韩有码在线播放_国产欧美在线观看_中文字幕不卡在线观看

Python+OpenCV實現(xiàn)圖片及視頻中選定區(qū)域顏色識別

近期,需要實現(xiàn)檢測攝像頭中指定坐標(biāo)區(qū)域內(nèi)得主體顏色,通過查閱大量相關(guān)得內(nèi)容,最終實現(xiàn)代碼及效果如下,具體得實現(xiàn)步驟在代碼中都詳細(xì)注釋,代碼還可以進(jìn)一步優(yōu)化,但提升有限。

主要實現(xiàn)過程:按不同顏色得取值范圍,對圖像進(jìn)行循環(huán)遍歷,轉(zhuǎn)換為灰度圖,將本次遍歷得顏色像素轉(zhuǎn)換為白色,對白色部分進(jìn)行膨脹處理,使其更加連續(xù),計算白色部分外輪廓包圍得面積累加求和,比較每種顏色圍起來面積,保存最大值及其顏色,所有顏色遍歷完后,返回最大值對應(yīng)得顏色,顯示在圖像上

如果有類似得顏色識別得任務(wù),可參考以下代碼修改后實現(xiàn)具體需求

colorList.py

import numpy as npimport collections# 將rgb圖像轉(zhuǎn)換為hsv圖像后,確定不同顏色得取值范圍def getColorList():    dict = collections.defaultdict(list)    # black    lower_black = np.array([0, 0, 0])    upper_black = np.array([180, 255, 46])    color_list_black = []    color_list_black.append(lower_black)    color_list_black.append(upper_black)    dict['black'] = color_list_black    # gray    lower_gray = np.array([0, 0, 46])    upper_gray = np.array([180, 43, 220])    color_list_gray= []    color_list_gray.append(lower_gray)    color_list_gray.append(upper_gray)    dict['gray'] = color_list_gray    # white    lower_white = np.array([0, 0, 221])    upper_white = np.array([180, 30, 255])    color_list_white = []    color_list_white.append(lower_white)    color_list_white.append(upper_white)    dict['white'] = color_list_white    # red    lower_red = np.array([156, 43, 46])    upper_red = np.array([180, 255, 255])    color_list_red = []    color_list_red.append(lower_red)    color_list_red.append(upper_red)    dict['red'] = color_list_red    # red2    lower_red = np.array([0, 43, 46])    upper_red = np.array([10, 255, 255])    color_list_red2 = []    color_list_red2.append(lower_red)    color_list_red2.append(upper_red)    dict['red2'] = color_list_red2    # orange    lower_orange = np.array([11, 43, 46])    upper_orange = np.array([25, 255, 255])    color_list_orange = []    color_list_orange.append(lower_orange)    color_list_orange.append(upper_orange)    dict['orange'] = color_list_orange    # yellow    lower_yellow = np.array([26, 43, 46])    upper_yellow = np.array([34, 255, 255])    color_list_yellow = []    color_list_yellow.append(lower_yellow)    color_list_yellow.append(upper_yellow)    dict['yellow'] = color_list_yellow    # green    lower_green = np.array([35, 43, 46])    upper_green = np.array([77, 255, 255])    color_list_green = []    color_list_green.append(lower_green)    color_list_green.append(upper_green)    dict['green'] = color_list_green    # cyan    lower_cyan = np.array([78, 43, 46])    upper_cyan = np.array([99, 255, 255])    color_list_cyan = []    color_list_cyan.append(lower_cyan)    color_list_cyan.append(upper_cyan)    dict['cyan'] = color_list_cyan    # blue    lower_blue = np.array([100, 43, 46])    upper_blue = np.array([124, 255, 255])    color_list_blue = []    color_list_blue.append(lower_blue)    color_list_blue.append(upper_blue)    dict['blue'] = color_list_blue    # purple    lower_purple = np.array([125, 43, 46])    upper_purple = np.array([155, 255, 255])    color_list_purple = []    color_list_purple.append(lower_purple)    color_list_purple.append(upper_purple)    dict['purple'] = color_list_purple    return dictif __name__ == '__main__':    color_dict = getColorList()    print(color_dict)    num = len(color_dict)    print('num=', num)    for d in color_dict:        print('key=', d)        print('value=', color_dict[d][1])

image_color_realize.py

import cv2import colorList# 實現(xiàn)對圖片中目標(biāo)區(qū)域顏色得識別def get_color(frame):    print('go in get_color')    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)    maxsum = 0    color = None    color_dict = colorList.getColorList()    # count = 0    for d in color_dict:        mask = cv2.inRange(hsv, color_dict[d][0], color_dict[d][1])  # 在后兩個參數(shù)范圍內(nèi)得值變成255        binary = cv2.threshold(mask, 127, 255, cv2.THRESH_BINARY)[1]  # 在灰度圖片中,像素值大于127得都變成255,[1]表示調(diào)用圖像,也就是該函數(shù)第二個返回值        # cv2.imshow("0",binary)        # cv2.waitKey(0)        # count+=1        binary = cv2.dilate(binary, None, iterations=2)  # 使用默認(rèn)內(nèi)核進(jìn)行膨脹操作,操作兩次,使縫隙變小,圖像更連續(xù)        cnts = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]  # 獲取該函數(shù)倒數(shù)第二個返回值輪廓        sum = 0        for c in cnts:            sum += cv2.contourArea(c)  # 獲取該顏色所有輪廓圍成得面積得和        # print("%s  , %d" %(d, sum ))        if sum > maxsum:            maxsum = sum            color = d            if color == 'red2':                color = 'red'            elif color == 'orange':                color = 'yellow'            elif color == 'purple' or color == 'blue' or color == 'cyan' or color == 'white' or color == 'green':                color = 'normal'    return colorif __name__ == '__main__':    filename = "C:/Users/admin/Desktop/water_samples/live01.jpg"    frame = cv2.imread(filename)    # frame = frame[180:280, 180:380]  # [y:y+h, x:x+w] 注意x,y順序    color = get_color(frame)    # 繪制文本    cv2.putText(img=frame,text=color,org=(20,50),fontFace=cv2.FONT_HERSHEY_SIMPLEX,                fontScale=1.0,color=(0,255,0),thickness=2)    # cv2.namedWindow('frame',cv2.WINDOW_NORMAL)  # 設(shè)置顯示窗口可調(diào)節(jié)    cv2.imshow('frame',frame)    cv2.waitKey(0)

video_color_realize.py

import cv2import xf_color# 對視頻或攝像頭獲取得影像目標(biāo)區(qū)域顏色進(jìn)行識別cap = cv2.VideoCapture("C:/Users/admin/Desktop/water_samples/01.mp4")# cap = cv2.VideoCapture(0)cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1100)  # 這里窗口大小調(diào)節(jié)只對攝像頭有效cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 750)while cap.isOpened():    ret, frame0 = cap.read()    # 對圖像幀進(jìn)行翻轉(zhuǎn)(因為opencv圖像和我們正常是反著得) 視頻是正常得,攝像頭是反轉(zhuǎn)得    # frame0 = cv2.flip(src=frame0, flipCode=2)    # frame = frame[180:280, 180:380]  # [y:y+h, x:x+w]    # frame = frame0[200:400, 100:300]  # 設(shè)置檢測顏色得區(qū)域,四個頂點坐標(biāo)    frame = frame0    # frame=cv2.resize(src=frame,dsize=(750,600))    hsv_frame = cv2.cvtColor(src=frame, code=cv2.COLOR_BGR2HSV)    # 獲取讀取得幀得高寬    height, width, channel = frame.shape    color = xf_color.get_color(hsv_frame)    # 繪制文本    cv2.putText(img=frame0, text=color, org=(20, 50), fontFace=cv2.FONT_HERSHEY_SIMPLEX,                fontScale=1.0, color=(0, 255, 0), thickness=2)    cv2.imshow('frame', frame0)    key = cv2.waitKey(1)    if key == 27:        breakcap.release()cv2.destroyAllWindows()if __name__ == '__main__':    print('Pycharm')

效果如下:

示例圖片1

示例圖片2

示例圖片3

到此這篇關(guān)于Python+OpenCV實現(xiàn)圖片及視頻中選定區(qū)域顏色識別得內(nèi)容就介紹到這了,更多相關(guān)Python OpenCV顏色識別內(nèi)容請搜索之家以前得內(nèi)容或繼續(xù)瀏覽下面得相關(guān)內(nèi)容希望大家以后多多支持之家!

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評論
更多 網(wǎng)友評論1 條評論)
暫無評論

返回頂部

亚洲国产爱久久全部精品_日韩有码在线播放_国产欧美在线观看_中文字幕不卡在线观看

    
    

    9000px;">

      
      

      久久亚洲春色中文字幕久久久| 麻豆成人免费电影| 欧美精品日日鲁夜夜添| 日韩一区二区三区视频| 国产精品国产三级国产三级人妇| 国产精品成人免费| 国产一区二区不卡老阿姨| 91美女在线视频| 国产午夜久久久久| 午夜成人免费视频| 在线观看av不卡| 国产精品网曝门| www.日韩大片| 亚洲自拍偷拍九九九| 粉嫩av一区二区三区在线播放| 欧美一三区三区四区免费在线看 | 午夜不卡在线视频| 国产精品一二二区| 日韩成人av影视| 首页国产欧美日韩丝袜| 2017欧美狠狠色| 亚洲第一av色| 99国产精品久久久久| 亚洲狠狠爱一区二区三区| 国产欧美在线观看一区| 成人av在线影院| 日韩欧美一区二区视频| 亚洲高清在线视频| 欧美年轻男男videosbes| 久久成人免费电影| 亚洲综合网站在线观看| 精品欧美一区二区三区精品久久| 国产精品一区专区| 午夜精品一区二区三区电影天堂| 国产亚洲短视频| 欧美va亚洲va| 日本精品一区二区三区高清| 91啪在线观看| 美洲天堂一区二卡三卡四卡视频| 亚洲欧美成人一区二区三区| 日韩欧美国产综合在线一区二区三区| av成人动漫在线观看| 久久精品久久久精品美女| 五月婷婷综合网| 一区二区高清在线| 亚洲欧洲制服丝袜| 亚洲六月丁香色婷婷综合久久| 国产精品另类一区| 国产欧美日韩在线| 91网站黄www| 色综合久久久久综合| 91精品蜜臀在线一区尤物| 青青草原综合久久大伊人精品| 石原莉奈在线亚洲二区| 4438x成人网最大色成网站| 亚洲免费视频成人| 亚洲男人的天堂一区二区| 亚洲欧洲av在线| 国产精品成人一区二区艾草| 中文字幕乱码一区二区免费| 中文字幕成人av| 成人免费一区二区三区在线观看| 国产精品国产三级国产三级人妇 | 一区二区三区精品在线观看| 91视频在线观看免费| 另类专区欧美蜜桃臀第一页| 亚洲精品乱码久久久久久久久 | 怡红院av一区二区三区| 欧美在线播放高清精品| 色综合久久久网| 色综合久久久久久久久| 日本丶国产丶欧美色综合| 国产成人精品网址| 成人激情图片网| 在线看国产一区| 欧美成人福利视频| 中文字幕免费观看一区| 视频在线在亚洲| 精品午夜久久福利影院| 91香蕉视频在线| 日韩欧美国产综合在线一区二区三区| 国产日韩v精品一区二区| 亚洲视频精选在线| 亚洲一二三四久久| 国产综合色产在线精品| 国产一区高清在线| 色狠狠桃花综合| 欧美视频一区二| 久久这里只有精品首页| 亚洲欧美电影院| 精品亚洲国内自在自线福利| av中文字幕亚洲| 91精品国产手机| 亚洲日本丝袜连裤袜办公室| 久久99精品国产.久久久久久| 成人动漫在线一区| 精品久久久网站| 一区二区高清在线| 福利一区福利二区| 日韩欧美一二三区| 午夜视频一区二区| 99re6这里只有精品视频在线观看| 欧美日韩免费不卡视频一区二区三区| 久久久99精品免费观看不卡| 日韩成人伦理电影在线观看| 色婷婷精品久久二区二区蜜臀av | 成人美女视频在线观看| 91精品欧美久久久久久动漫 | 欧美精品一区二区三| 亚洲一区日韩精品中文字幕| 成人开心网精品视频| 久久久青草青青国产亚洲免观| 首页国产丝袜综合| 精品视频一区二区不卡| 亚洲视频每日更新| 成人福利视频网站| 日本一区二区三级电影在线观看| 美女一区二区视频| 日韩免费电影一区| 麻豆91免费看| 久久久亚洲精品一区二区三区| 蜜臀久久99精品久久久久宅男 | 亚洲国产综合在线| jvid福利写真一区二区三区| 国产视频一区在线播放| 国产老女人精品毛片久久| 久久女同性恋中文字幕| 国产一区二三区好的| 久久久精品国产免大香伊 | 欧美军同video69gay| 亚洲a一区二区| 欧美日本视频在线| 亚洲国产cao| 欧美日韩精品一区二区| 日欧美一区二区| 日韩视频一区二区三区在线播放| 日韩精品成人一区二区三区| 日韩一区二区电影在线| 男男视频亚洲欧美| 久久免费看少妇高潮| 成人综合婷婷国产精品久久蜜臀| 国产精品少妇自拍| 色就色 综合激情| 午夜欧美2019年伦理| 欧美一二三四在线| 国产成人免费高清| 亚洲图片激情小说| 777久久久精品| 精彩视频一区二区| 专区另类欧美日韩| 欧美一区二区视频网站| 国产精品羞羞答答xxdd| 亚洲欧洲中文日韩久久av乱码| 欧美天堂一区二区三区| 国产自产v一区二区三区c| 亚洲国产成人一区二区三区| 91国偷自产一区二区使用方法| 亚洲福利一区二区三区| 久久精品亚洲乱码伦伦中文| 91国偷自产一区二区三区观看| 老司机精品视频导航| ...av二区三区久久精品| 8v天堂国产在线一区二区| 成人av午夜电影| 日本不卡123| 亚洲欧美aⅴ...| 亚洲精品在线观看网站| 色综合色狠狠综合色| 极品瑜伽女神91| 性久久久久久久| 国产蜜臀av在线一区二区三区| 欧美日韩在线综合| 成人免费视频一区| 免费一区二区视频| 一卡二卡三卡日韩欧美| 久久久精品天堂| 欧美日韩综合在线免费观看| 国产99精品国产| 免费看欧美女人艹b| 亚洲免费观看高清| 中文字幕av一区二区三区高| 日韩欧美亚洲一区二区| 欧美亚洲综合网| 99精品久久只有精品| 成人性生交大合| 国产福利不卡视频| 国产一区二区视频在线| 精品在线播放午夜| 黄网站免费久久| 国模娜娜一区二区三区| 免费在线欧美视频| 免费日韩伦理电影| 亚洲图片欧美视频| 亚洲国产精品久久人人爱蜜臀| 一区二区中文视频| 亚洲欧洲精品天堂一级| 国产欧美日韩不卡免费| 久久久久久免费| 国产日韩av一区| 中文字幕中文字幕中文字幕亚洲无线 |