假设我有图像,需要找到我在哪里绘制矩形,
cv2.rectangle(image,(250,70),(150,45),(0,255,0),5)
在图像上?
如何在cv / python中查找此矩形的具体值?
答案 0 :(得分:0)
是的,可以在边界框中提取区域的RGB值。
假定您使用CV2读取图像,则该图像已被表示为BGR。您要做的就是在边界框中找到一个点,然后提取该点的BGR值。请注意,我使用的是BGR,因为这是OpenCV读取图像的方式。
使用您使用的边界框顶点,只需在边界框中计算一个中点,然后提取图像中该中点的BGR值即可。
# midpoint is ((y_max - y_min) // 2 + y_min, (x_max - x_min) // 2 + x_min)
point = ((70 - 45) // 2 + 45, (250 - 150) // 2 + 150)
b, g, r = image[point]
如果边框中的像素具有不同的颜色,则此方法将不起作用。在这种情况下,也许您想获取平均BGR值。
# image[y_min:y_max, x_min:x_max]
region = image[45:70, 150:250]
b, g, r = np.mean(region, axis=(0, 1))