顏色辨別技術是一個強大的工具,能夠提高效率、增強安全性,同時可以被應用在各種行業,從而改善人們的生活質量;例如:在農業中,可以透過顏色辨別技術來檢查作物的健康狀態,透過分析植物的顏色變化,可以讓農民判斷作物是否缺乏水分或營養。
import cv2
import numpy as np
# 讀取圖片
image = cv2.imread('park.png') # 替換成你的圖片路徑
# 調整圖片大小為 700x500
resized_image = cv2.resize(image, (700, 500))
# 將圖片從 BGR 轉換為 HSV
hsv_image = cv2.cvtColor(resized_image, cv2.COLOR_BGR2HSV)
# 定義紅色的範圍
lower_red_1 = np.array([0, 120, 70])
upper_red_1 = np.array([10, 255, 255])
lower_red_2 = np.array([170, 120, 70])
upper_red_2 = np.array([180, 255, 255])
# 產生遮罩,只保留紅色範圍
mask1 = cv2.inRange(hsv_image, lower_red_1, upper_red_1)
mask2 = cv2.inRange(hsv_image, lower_red_2, upper_red_2)
mask = mask1 | mask2 # 將兩個遮罩結合
# 使用遮罩篩選出範圍內的紅色
result = cv2.bitwise_and(resized_image, resized_image, mask=mask)
# 顯示原始圖像和紅色篩選後的圖像
cv2.imshow('Resized Image', resized_image)
cv2.imshow('Filtered Red Color', result)
# 等待按鍵後關閉所有窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
在這個範例中,我們首先讀取一張圖片,然後將其調整為 700x500 像素。接著,將圖片從 BGR 顏色空間轉換為 HSV 顏色空間,這樣更容易進行顏色篩選。我們定義了紅色的範圍,並利用遮罩將紅色區域篩選出來,最後顯示原始圖像和篩選後的圖像。
輸出結果:
今天只是簡單的想讓各位了解使用 OpenCV 進行顏色識別會是怎樣的情形,因此並沒有花太多心思在尋找適合的圖片讓大家去琢磨,只是找了一個可以辨識的圖片,讓大家了解,可以透過這種技術,從複雜的場景中提取出關鍵。
參考資料:https://steam.oxxostudio.tw/category/python/ai/ai-cars-dectection.html