python識別圖片中指定顏色的圖案并保存為圖片
示例代碼:
def chuli(color):
import cv2
import numpy as np
# 定義顏色名稱到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)
# 獲取用戶輸入的顏色名稱
color_name = color.lower()
# 檢查顏色名稱是否在映射中
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)
# 對掩碼進(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識別圖片中指定顏色的圖案并保存為圖片的文章就介紹到這了,更多相關(guān)python識別圖片指定顏色的圖案內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python?OpenCV實(shí)現(xiàn)簡單的顏色識別功能(對紅色和藍(lán)色識別并輸出)
- Python+OpenCV實(shí)現(xiàn)圖片及視頻中選定區(qū)域顏色識別
- Python+OpenCV實(shí)現(xiàn)基于顏色的目標(biāo)識別
- python+opencv實(shí)現(xiàn)文字顏色識別與標(biāo)定功能
- python實(shí)現(xiàn)簡單顏色識別程序
- 50行Python代碼實(shí)現(xiàn)視頻中物體顏色識別和跟蹤(必須以紅色為例)
- 淺談Python3識別判斷圖片主要顏色并和顏色庫進(jìn)行對比的方法
- python微信跳一跳系列之棋子定位顏色識別
相關(guān)文章
使用Python操作MySQL數(shù)據(jù)庫的教程詳解
在這篇文章中,主要為大家詳細(xì)介紹如何在Python中使用pymysql模塊來操作MySQL數(shù)據(jù)庫,文中的示例代碼簡介易懂,需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-07-07
python標(biāo)識符的用法及注意事項(xiàng)
在本篇文章里小編給大家整理了一篇關(guān)于python標(biāo)識符的用法及注意事項(xiàng)相關(guān)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2021-09-09
Python鏈?zhǔn)秸{(diào)用數(shù)據(jù)處理實(shí)際應(yīng)用實(shí)例探究
本文將深入介紹Python鏈?zhǔn)秸{(diào)用的概念、原理以及實(shí)際應(yīng)用,通過豐富的示例代碼,幫助讀者更全面地理解和應(yīng)用這一編程技巧2024-01-01
python函數(shù)裝飾器構(gòu)造和參數(shù)傳遞
這篇文章主要介紹了python函數(shù)裝飾器構(gòu)造和參數(shù)傳遞,下面通過一個小案例來簡單的理解什么是裝飾器,需要的小伙伴可以參考一下2022-03-03
Python操作Redis數(shù)據(jù)庫的詳細(xì)教程與應(yīng)用實(shí)戰(zhàn)
Redis是一個高性能的鍵值存儲數(shù)據(jù)庫,支持多種類型的數(shù)據(jù)結(jié)構(gòu),如字符串、哈希表、列表、集合和有序集合等,在Python中,通過redis-py庫可以方便地操作Redis數(shù)據(jù)庫,本文將詳細(xì)介紹如何在Python代碼中操作Redis,需要的朋友可以參考下2024-08-08
解決pyinstaller打包exe文件出現(xiàn)命令窗口一閃而過的問題
今天小編就為大家分享一篇解決pyinstaller打包exe文件出現(xiàn)命令窗口一閃而過的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
python的virtualenv虛擬環(huán)境常見問題和命令
在Python中,venv是一個用于創(chuàng)建和管理虛擬環(huán)境的模塊,虛擬環(huán)境可以幫助你在項(xiàng)目之間隔離不同的Python包和依賴關(guān)系,這篇文章主要介紹了python的virtualenv虛擬環(huán)境常見問題和命令,需要的朋友可以參考下2024-07-07
Python開發(fā)網(wǎng)站目錄掃描器的實(shí)現(xiàn)
這篇文章主要介紹了Python開發(fā)網(wǎng)站目錄掃描器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02

