概述
1,求点集的凸包
//求凸包
CvPoint pt1;
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* ptseq = cvCreateSeq(CV_SEQ_KIND_GENERIC | CV_32SC2, sizeof(CvContour), sizeof(CvPoint), storage);
cvSeqPush(ptseq, &pt1); //点存入seq
hull = cvConvexHull2(ptseq, 0, CV_COUNTER_CLOCKWISE, 0);
CvPoint pt0 = ** CV_GET_SEQ_ELEM(CvPoint*, hull, hull->total - 1);
for (int i = 0; i < hull->total; i++) {
CvPoint pt = **CV_GET_SEQ_ELEM(CvPoint*, hull, i); //seq 2 point
cvLine(img1, pt0, pt, CV_RGB(0, 255, 0), 3, 8, 0);
pt0 = pt;
}
2,求点集的最小外接正矩形
CvPoint p1, p2;
rec = cvBoundingRect(ptseq, 1); //从seq来求外接正矩形,也可以用contour
p1.x = rec.x;
p1.y = rec.y;
p2.x = rec.x + rec.width;
p2.y = rec.y + rec.height;
cvRectangle(img1, p1, p2, CV_RGB(0, 255, 0), 2, 8, 0);
最后
以上就是生动小伙为你收集整理的opencv 图形学函数【c语言版】的全部内容,希望文章能够帮你解决opencv 图形学函数【c语言版】所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复