python識(shí)別圖片中指定顏色的圖案并保存為圖片
示例代碼:
def chuli(color): import cv2 import numpy as np # 定義顏色名稱(chēng)到HSV閾值范圍的映射 color_thresholds = { 'red': ([0, 100, 100], [10, 255, 255], [160, 100, 100], [180, 255, 255]), 'yellow': ([20, 100, 100], [30, 255, 255]), 'blue': ([90, 100, 100], [130, 255, 255]) } # 讀取圖片 image = cv2.imread('captcha.png') # 將圖片從BGR轉(zhuǎn)換到HSV顏色空間 hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 獲取用戶輸入的顏色名稱(chēng) color_name = color.lower() # 檢查顏色名稱(chēng)是否在映射中 if color_name in color_thresholds: # 獲取該顏色的HSV閾值范圍 thresholds = color_thresholds[color_name] # 創(chuàng)建掩碼 mask = None for i in range(0, len(thresholds), 2): lower = np.array(thresholds[i]) upper = np.array(thresholds[i + 1]) mask_color = cv2.inRange(hsv_image, lower, upper) if mask is None: mask = mask_color else: mask = cv2.bitwise_or(mask, mask_color) # 對(duì)掩碼進(jìn)行膨脹和腐蝕 mask = cv2.dilate(mask, None, iterations=2) mask = cv2.erode(mask, None, iterations=2) # 使用掩碼提取原圖中的顏色區(qū)域 result = cv2.bitwise_and(image, image, mask=mask) # 保存結(jié)果為圖片 result_filename = 'detected.png' cv2.imwrite(result_filename, result) print(f"Result saved as {result_filename}") else: print("Invalid color name. Please choose from 'red', 'yellow', or 'blue'.") chuli('blue')
效果展示:
到此這篇關(guān)于python識(shí)別圖片中指定顏色的圖案并保存為圖片的文章就介紹到這了,更多相關(guān)python識(shí)別圖片指定顏色的圖案內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python?OpenCV實(shí)現(xiàn)簡(jiǎn)單的顏色識(shí)別功能(對(duì)紅色和藍(lán)色識(shí)別并輸出)
- Python+OpenCV實(shí)現(xiàn)圖片及視頻中選定區(qū)域顏色識(shí)別
- Python+OpenCV實(shí)現(xiàn)基于顏色的目標(biāo)識(shí)別
- python+opencv實(shí)現(xiàn)文字顏色識(shí)別與標(biāo)定功能
- python實(shí)現(xiàn)簡(jiǎn)單顏色識(shí)別程序
- 50行Python代碼實(shí)現(xiàn)視頻中物體顏色識(shí)別和跟蹤(必須以紅色為例)
- 淺談Python3識(shí)別判斷圖片主要顏色并和顏色庫(kù)進(jìn)行對(duì)比的方法
- python微信跳一跳系列之棋子定位顏色識(shí)別
相關(guān)文章
django如何根據(jù)現(xiàn)有數(shù)據(jù)庫(kù)表生成model詳解
這篇文章主要給大家介紹了關(guān)于django如何根據(jù)現(xiàn)有數(shù)據(jù)庫(kù)表生成model的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-08-08python循環(huán)神經(jīng)網(wǎng)絡(luò)RNN函數(shù)tf.nn.dynamic_rnn使用
這篇文章主要為大家介紹了python循環(huán)神經(jīng)網(wǎng)絡(luò)RNN的tf.nn.dynamic_rnn使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python爬取阿拉丁統(tǒng)計(jì)信息過(guò)程圖解
這篇文章主要介紹了Python爬取阿拉丁統(tǒng)計(jì)信息過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作之京東評(píng)論分類(lèi)
自然語(yǔ)言處理( Natural Language Processing, NLP)是計(jì)算機(jī)科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個(gè)重要方向。它研究能實(shí)現(xiàn)人與計(jì)算機(jī)之間用自然語(yǔ)言進(jìn)行有效通信的各種理論和方法2021-10-10python實(shí)現(xiàn)向ppt文件里插入新幻燈片頁(yè)面的方法
這篇文章主要介紹了python實(shí)現(xiàn)向ppt文件里插入新幻燈片頁(yè)面的方法,涉及Python操作ppt文檔添加幻燈片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04在Pytorch中使用樣本權(quán)重(sample_weight)的正確方法
今天小編就為大家分享一篇在Pytorch中使用樣本權(quán)重(sample_weight)的正確方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08