我是靠谱客的博主 娇气花瓣,这篇文章主要介绍OpenCV实现最小外接正矩形,现在分享给大家,希望可以做个参考。

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include "stdafx.h" #include "cv.h" #include "highgui.h" #include "cxcore.h" #include "math.h" #include <iostream.h> int main(int argc, char* argv[]) { IplImage *src; IplImage *dst; IplImage *ROI; CvMemStorage* storage=cvCreateMemStorage(0); CvSeq* contour=0; src=cvLoadImage("I:\test.jpg",0); cvNamedWindow("image0",1); cvShowImage("image0",src); int hei=src->height; int wid=src->width; uchar *data; data=(uchar*)src->imageData; int widstep=src->widthStep; int channel=src->nChannels; dst=cvCreateImage(cvSize(wid,hei),IPL_DEPTH_8U,3); ROI=cvCreateImage(cvSize(wid,hei),IPL_DEPTH_8U,3); for (int i=0;i<hei;i++) { for(int j=0;j<wid;j++) { if (data[i*widstep+j*channel]>120) { data[i*widstep+j*channel]=0; } else { data[i*widstep+j*channel]=255; } } } cvNamedWindow("image",0); cvShowImage("image",src); printf("图像的高为:%d,宽为:%dnn",hei,wid); cvCvtColor(src, dst, CV_GRAY2BGR);; cvFindContours(src,storage,&contour,sizeof(CvContour),CV_RETR_CCOMP,CV_CHAIN_APPROX_SIMPLE); for(;contour!=0;contour=contour->h_next) { double length =cvArcLength(contour); double area =fabs(cvContourArea(contour)); CvRect rect = cvBoundingRect(contour,1); cout<<"Length="<<length<<" Area="<<area<<endl; CvPoint p1; CvPoint p2; p1.x=rect.x; p1.y=rect.y; p2.x=rect.x+rect.width; p2.y=rect.y+rect.height; cout<<"p1=("<<p1.x<<","<<p1.y<<")"; cout<<"p2=("<<p2.x<<","<<p2.y<<")"<<endl; cvRectangle(dst,p1,p2,CV_RGB(255,0,0),1,8,0); } cvNamedWindow("dst",1); cvShowImage("dst",dst); cvWaitKey(0); return 0; }

原图:

二值化反色图:

最小正矩形图:

最小正矩形信息:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持靠谱客。

最后

以上就是娇气花瓣最近收集整理的关于OpenCV实现最小外接正矩形的全部内容,更多相关OpenCV实现最小外接正矩形内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(158)

评论列表共有 0 条评论

立即
投稿
返回
顶部