我想要在opencv中用最小矩形外接图中图像并剪切截取出这个矩形部分。

我想要在opencv中用最小矩形外接图中图像并剪切截取出这个矩形部分。可编程后最小外接矩形却是整个图框。请问怎么解决,能给个代码吗?... 我想要在opencv中用最小矩形外接图中图像并剪切截取出这个矩形部分。可编程后最小外接矩形却是整个图框。请问怎么解决,能给个代码吗? 展开
 我来答
匿名用户
2020-12-11
展开全部
试试 里面一些参数要改一下 这是c++

vector<vector<Point>> vecContour;
vector<Vec4i> hierarcy;
findContours(dst1, vecContour, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);//查找轮廓
Rect boundRect;//存放外接矩形
RotatedRect rorect;//存放最小外接矩形
Point2f rect[4];
//vector<vector<Point>>proRect;
//Mat imageContours = Mat::zeros(image.size(), CV_8UC1);
for (int i = 0; i < vecContour.size(); i++)
{
boundRect = boundingRect(Mat(vecContour[i]));

if (boundRect.width < 200 || boundRect.height < 200)
continue;
circle(dst1, Point(rorect.center.x, rorect.center.y), 5, Scalar(0, 255, 0), -1, 8); //绘制最小外接矩形的中心点
rorect.points(rect); //把最小外接矩形四个端点复制给rect数组

rectangle(dst1, Point(boundRect.x, boundRect.y), Point(boundRect.x + boundRect.width, boundRect.y + boundRect.height), Scalar(0, 255, 0), 2, 8);
for (int j = 0; j < 4; j++)
{
line(dst1, rect[j], rect[(j + 1) % 4], Scalar(255, 0, 0), 2, 8); //绘制最小外接矩形每条边
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NQQ001
2017-03-01 · TA获得超过1175个赞
知道小有建树答主
回答量:1639
采纳率:20%
帮助的人:716万
展开全部
用弹簧测力计测量出物体的重力G
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式