获取图像中红色的坐标(0.01*dst.max())-python
我正在解决一个问题,只获取图像中特定颜色的坐标。所以我遇到了下面的代码,我不知道第四行和第五行。有人能解释一下为什么要使用0.01*dst.max()以及所有这些吗。提前谢谢获取图像中红色的坐标(0.01*dst.max())-python,python,image-processing,Python,Image Processing,我正在解决一个问题,只获取图像中特定颜色的坐标。所以我遇到了下面的代码,我不知道第四行和第五行。有人能解释一下为什么要使用0.01*dst.max()以及所有这些吗。提前谢谢 b, g, r = cv2.split(img) gray = np.float32(cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)) dst = cv2.cornerHarris(gray, 2, 3, 0.04) dst = np.where((dst > 0.01 * dst.max
b, g, r = cv2.split(img)
gray = np.float32(cv2.cvtColor(img, cv2.COLOR_BGR2GRAY))
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
dst = np.where((dst > 0.01 * dst.max()) & (r > 130) & (g < 100) & (b < 100), dst, 0)
img[dst > 0.01 * dst.max()] = [0, 255, 0]
coord = np.where(np.all(img == (0, 255, 0), axis=-1))
coorarray = zip(coord[0], coord[1])
b,g,r=cv2.分割(img)
灰色=np.float32(cv2.CVT颜色(img,cv2.COLOR_BGR2GRAY))
dst=cv2.0(灰色,2,3,0.04)
dst=np.其中((dst>0.01*dst.max())和(r>130)和(g<100)和(b<100),dst,0)
img[dst>0.01*dst.max()]=[0,255,0]
坐标=np.where(np.all(img==(0,255,0),axis=-1))
coorarray=zip(坐标[0],坐标[1])
- 代码给出了图像中“角”的坐标
dst > 0.01 * dst.max()
img[dst > 0.01 * dst.max()] = [0, 255, 0].
然后确定这些黑色像素的坐标:
coord = np.where(np.all(img == (0, 255, 0), axis=-1))
- 在您的情况下,如果要进行特定的颜色检测,您不需要“dst”行,您必须对颜色进行选择:
colorSelection = (r == 130) & (g == 100) & (b == 100) ### select your color rgb img[colorSelection] = [0, 255, 0] ### create a black/white image coord = np.where(np.all(img == (0, 255, 0), axis=-1)) ### find the coordinate of your interesting pixels