python+opencv處理顏色之將目標顏色轉換實例代碼
更新時間:2025年03月29日 09:54:16 作者:__基本操作__
OpenCV 是一個的跨平臺計算機視覺庫,可以運行在 Linux、Windows 和 Mac OS 操作系統上,這篇文章主要介紹了python+opencv處理顏色之將目標顏色轉換的相關資料,需要的朋友可以參考下
目標:將紅色的部分濾出,轉化為綠色
下面是代碼+ 效果 + 解釋
import cv2
import numpy as np
def dectfun(frame):
# Convert the frame to HSV color space
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# Define the range for red color in HSV
lower_red1 = np.array([0, 120, 70])
upper_red1 = np.array([10, 255, 255])
lower_red2 = np.array([170, 120, 70])
upper_red2 = np.array([180, 255, 255])
# Create a mask for red color
mask1 = cv2.inRange(hsv, lower_red1, upper_red1)
mask2 = cv2.inRange(hsv, lower_red2, upper_red2)
mask = mask1 + mask2
# Create an output image to show the detected red regions in green
result = frame.copy()
result[mask > 0] = [0, 255, 0] # Change red regions to green
return result
def main():
# Open the webcam
cap = cv2.VideoCapture(1)
while True:
# Read a frame
ret, frame = cap.read()
if not ret:
break
# Detect red regions and highlight them
result = dectfun(frame)
# Display the result
cv2.imshow("Frame", result)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Release the webcam and close all windows
cap.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
main()

轉HSV: 關于顏色總是要轉HSV的
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
掩膜
lower_red1 = np.array([0, 120, 70]) upper_red1 = np.array([10, 255, 255]) lower_red2 = np.array([170, 120, 70]) upper_red2 = np.array([180, 255, 255]) # Create a mask for red color mask1 = cv2.inRange(hsv, lower_red1, upper_red1) mask2 = cv2.inRange(hsv, lower_red2, upper_red2) mask = mask1 + mask2
在這段代碼中,mask 是一個數組。具體來說,它是一個二值圖像(即一個包含0和255的數組),表示在HSV顏色空間中紅色區(qū)域的掩膜。 在掩膜區(qū)域內的是我們的目標lower_red1, upper_red1 標注是255 其余是0
再標注
# Create an output image to show the detected red regions in green
result = frame.copy()
result[mask > 0] = [0, 255, 0] # Change red regions to green
return result
result = frame.copy()在Python中,變量通常是引用類型,如果你在函數中直接修改傳入的數組或對象,它們的值會永久改變。result[mask > 0] = [0, 255, 0]這是個巧妙的句子,當mask的對應位置上的值大于零。 然后把result 對應位置上的像素改成綠色
總結
到此這篇關于python+opencv處理顏色之將目標顏色轉換的文章就介紹到這了,更多相關python opencv目標顏色轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python導出chrome書簽到markdown文件的實例代碼
python導出chrome書簽到markdown文件,主要就是解析chrome的bookmarks文件,然后拼接成markdown格式的字符串,最后輸出到文件即可。下面給大家分享實例代碼,需要的朋友參考下2017-12-12
探索Python中zoneinfo模塊處理時區(qū)操作實例
這篇文章主要為大家介紹了探索Python中zoneinfo模塊的用法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
Python?Web開發(fā)通信協議WSGI?uWSGI?uwsgi使用對比全面介紹
這篇文章主要為大家介紹了Python?Web開發(fā)通信協議WSGI?uWSGI?uwsgi使用對比全面介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12

