[英]How to make Lab and YCrCb color palette in opencv (python)
[英]how to detect color white in ycrcb?
我想在 python 中使用 open cv 來檢測白色物體,但是在 ycbcr 中定義下白色和上白色時遇到問題。 我嘗試制作程序,但程序沒有得到正確的結果來檢測對象。 這是我的代碼:
ycrcb = cv.cvtColor(rgb, cv.COLOR_BGR2YCrCb)
lower_white = np.array([205, 128, 128], dtype=np.uint8)
upper_white = np.array([235, 128, 128], dtype=np.uint8)
img = cv.inRange(ycrcb, lower_white, upper_white)
我嘗試使用結構元素進行檢測並發送到形態學:
se_3 = cv.getStructuringElement(cv.MORPH_RECT,(3,3))
dst_dilate = cv.dilate(img, se_3, iterations = 1)
並使用按位和將其放在一起:
res = cv.bitwise_and(rgb,rgb, mask= dst_dilate)
我盡力了,但結果不正確,我需要你的意見,改變哪一部分以獲得更好的結果。
最簡單的方法是加載圖像,將其轉換為所需的色彩空間並拆分通道,將它們並排放置。 然后使用系統的“顏色滴管工具” (macOS 上的“數字顏色計” )查看您感興趣的區域中各個通道的值:
import cv2
# Load image
im = cv2.imread('qAK68.jpg')
# Convert to YCrCb colourspace
YCrCb = cv2.cvtColor(im, cv2.COLOR_BGR2YCrCb)
# Split channels and lay out side-by-sise, Y on the left, Cr then Cb on the right
Y, Cr, Cb = cv2.split(YCrCb)
hstack = np.hstack((Y,Cr,Cb))
您應該看到您需要大致以下范圍:
Y
60..255Cr
120..136Cb
如果您沒有“Color Dropper”工具,只需在此處轉到ImageJ在線工具並在下面上傳我的輸出圖像並將鼠標懸停在其上即可查看如下值:
如果你在 Linux 上,你可以獲得一個名為gpick
的顏色滴管:
sudo apt install gpick
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.