是否存在使用opencv获取图像中结构/颜色百分比的实现方法或过程。我通过使用掩码,CLAHE,内核,转换来尝试几种方法......但是没有真正实现我正在寻找的东西。
假设我想要计算或检测可以在特定图像中具有颜色的结构的百分比。例如,如果我有以下图像:
redeye
如果我想代表血管的百分比(那些红血管)我该怎么办?
这是我已经尝试过但似乎不是最佳方式:
path = 'C:/.../redeye.jpg'
img=cv2.imread(path)
#try with HSV (I already tried RGB transformation)
img_hsv=cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# lower mask (0-10)
lower_red = np.array([7,50,50])
upper_red = np.array([10,255,255])
mask0 = cv2.inRange(img_hsv, lower_red, upper_red)
# upper mask (170-180)
lower_red = np.array([170,50,50])
upper_red = np.array([180,255,255])
mask1 = cv2.inRange(img_hsv, lower_red, upper_red)
# join my masks
mask = mask0+mask1
# set my output img to zero everywhere except my mask
output_img = img.copy()
output_img[np.where(mask==0)] = 0
plt.imshow(output_img)
plt.show()