圆 最小外包矩形_Opencv实现最小外接矩形和圆

本文介绍了如何使用OpenCV库在C++中实现图像处理,包括将图像转换为灰度、Canny边缘检测、轮廓检测以及找到这些轮廓的最小外包矩形和圆。通过道格拉斯-普克抽稀算法简化轮廓,然后利用OpenCV的函数计算最小外接矩形和最小外接圆,并展示了相应的代码实现。
摘要由CSDN通过智能技术生成

本文实例为大家分享了Opencv实现最小外接矩形和圆的具体代码,供大家参考,具体内容如下

步骤:将一幅图像先转灰度,再canny边缘检测得到二值化边缘图像,再寻找轮廓,轮廓是由一系列点构成的,要想获得轮廓的最小外接矩形,首先需要得到轮廓的近似多边形,用道格拉斯-普克抽稀(DP)算法,道格拉斯-普克抽稀算法,是将曲线近似表示为一系列点,并减少点的数量的一种算法。

该算法实现抽稀的过程是:

1)对曲线的首末点虚连一条直线,求曲线上所有点与直线的距离,并找出最大距离值dmax,用dmax与事先给定的阈值D相比:

2)若dmax

若dmax≥D,保留dmax对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分重复使用该方法,即重复1),2)步,直到所有dmax均

#include

using namespace cv;

using namespace std;

int value = 60;

RNG rng(1);

Mat src,gray_img,canny_img,dst;

void callback(int, void*);

int main(int arc, char** argv){

src = imread("2.jpg");

namedWindow("input",CV_WINDOW_AUTOSIZE);

imshow(&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值