我有一个旋转的矩形代表我感兴趣的区域:
[[634 547]
[353 504]
[436 -41]
[717 1]]
我想快速滤除不在旋转矩形内的所有像素。请注意,矩形实际上超出了图像的范围,所以如果重要的话我必须处理那个边缘情况。
答案 0 :(得分:5)
您可以使用fillPoly()
在蒙版数组上绘制矩形,然后使用蒙版数组选择所需的像素:
import cv2
import numpy as np
rect = [[634, 547],[353, 504],[436, -41],[717, 1]]
poly = np.array([rect], dtype=np.int32)
img = np.zeros((800, 800), np.int8)
cv2.fillPoly(img, poly, 255)
imshow(img, cmap="gray")
面具图片:
答案 1 :(得分:0)
setRoi
),fillPoly
)例如,你可以: