cv2.boundingRect和cv2.fillPol 用多边形填充图形:
pts:提取出来的特征点 转为np.array->astype(dtype=int)->reshape(-1,1,2)
///boundingRec返回正矩形
/// minAreaRect返回最小斜矩形
x,y,w,h:返回矩形框的x,y,w,h
newImg = np.full(img.shape, 255, dtype=np.uint8)
创建一个背景图
cv2.fillPoly(newImg, [pts], 0)
多边形填充pts并放入newimg中
split_img = np.full(img.shape, 255, dtype=np.uint8)
创建一个背景图
split_img[newImg==0] = img[newImg==0]
split_Img为 img大小的白色背景和 fillpoy后newimg大小的黑色填充图形的图片
split_img = split_img[y:y+h, x:x+w]
在原split_img中截取填充大小的图片为所需图片
本文介绍了如何使用OpenCV库进行多边形填充和图像截取。通过`cv2.boundingRect`获取特征点的边界矩形,然后使用`cv2.fillPoly`填充多边形,并在新的图像上应用填充。最后,通过`cv2.minAreaRect`获取最小面积的旋转矩形,并在原图上截取相应区域,得到目标图像。
2400

被折叠的 条评论
为什么被折叠?



