gpt4 book ai didi

OpenCV : set ROI with angle?

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:01 27 4
gpt4 key购买 nike

我想使用 ROI 将图像中找到的多边形复制到新图像中。我希望这个多边形完全适合新图像。到目前为止,我使用了 ROI,但我注意到角度没有被考虑在内,一旦我旋转我希望检测的物体,这就会给我带来不好的结果。我需要这个对象单独进行进一步分析...

这是我的做法:

while(/****/)
{
CvSeq* approximatedContour = cvApproxPoly(currentContour,
sizeof(CvContour),
0,
CV_POLY_APPROX_DP,
8);

etiquetteBox = cvMinAreaRect2(approximatedContour);
CvSize2D32f sizeEtiquette = etiquetteBox.size;

if(/****/)
{
CvPoint2D32f boxPoints[4];
cvBoxPoints(etiquetteBox, boxPoints);

cvSetImageROI(thresImg,cvRect((int)boxPoints[1].x, (int)boxPoints[1].y,
(int)sizeEtiquette.width,(int)sizeEtiquette.height));

cvResize(thresImg,thresImgResized);

/*****/
}

有谁知道如何将角度整合到 ROI 中?是否可以不这样做?

谢谢!

最佳答案

您必须从您的 RotatedRect 制作一个 mask ,并使用 mask 复制您的图像。

编辑

如何制作面具:

创建一个与原始图像大小相同的新图像,但只有一个 channel 8U。使用您喜欢的方法将其设置为零。使用您喜欢的绘图功能绘制矩形、多边形、圆形或任何您想用作 ROI 的内容。 DrawPoly,例如。确保用 255 填充图形。显示图像。它应该在黑色背景上包含一个白色多边形。

将其用作掩码参数。

关于OpenCV : set ROI with angle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9074317/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com