91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 24.8MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-06-22
  • 語言: 其他
  • 標(biāo)簽: Opencv??

資源簡介

該方法采用提取圖像輪廓,并進(jìn)行最小二乘法計算擬合出圓。最后得出圓心和半徑。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
using?namespace?cv;
using?namespace?std;

bool?FilterMid(IplImage*?&imageint?k);

typedef?struct?Box
{
double?x;
double?y;
double?r;
}Box;
?
Box?circleLeastFit(const?vector?&points)
{
?
Box?box;
box.x?=?0.0f;
box.y?=?0.0f;
box.r?=?0.0f;
?
if?(points.size()<3)
{
return?box;
}
?
int?i=0;
?
double?X1=0;
double?Y1=0;
double?X2=0;
double?Y2=0;
double?X3=0;
double?Y3=0;
double?X1Y1=0;
double?X1Y2=0;
double?X2Y1=0;
?
int?Sum=points.size();
for?(i=0;i {
X1=X1+points[i]->x;
Y1=Y1+points[i]->y;
X2=X2+points[i]->x*points[i]->x;
Y2=Y2+points[i]->y*points[i]->y;
X3=X3+points[i]->x*points[i]->x*points[i]->x;
Y3=Y3+points[i]->y*points[i]->y*points[i]->y;
X1Y1=X1Y1+points[i]->x*points[i]->y;
X1Y2=X1Y2+points[i]->x*points[i]->y*points[i]->y;
X2Y1=X2Y1+points[i]->x*points[i]->x*points[i]->y;
}
?
double?CDEGHN;
double?abc;
N=points.size();
C=N*X2?-?X1*X1;
D=N*X1Y1?-?X1*Y1;
E=N*X3?+?N*X1Y2?-?(X2+Y2)*X1;
G=N*Y2?-?Y1*Y1;
H=N*X2Y1?+?N*Y3?-?(X2+Y2)*Y1;
a=(H*D-E*G)/(C*G-D*D);
b=(H*C-E*D)/(D*D-G*C);
c=-(a*X1?+?b*Y1?+?X2?+?Y2)/N;
?
double?ABR;
A=a/(-2);
B=b/(-2);
R=sqrt(a*a+b*b-4*c)/2;
?
box.x=A;
box.y=B;
box.r=R;

return?box;
}
int?main()
{?
IplImage?*img=0;
int?heightwidthstepchannels;
uchar?*data;
img=cvLoadImage(“Circle.bmp“0);
IplImage?*src=cvCloneImage(img);
if(!img)
{
printf(“fail?to?open“);
}
height=img->height;
width=img->width;
step=img->widthStep;
channels=img->nChannels;
data=(uchar*)img->imageData;
printf(“processing?a?%dx%d?image?with?%d?channels\n“heightwidthchannels);
cvNamedWindow(“原圖“CV_WINDOW_AUTOSIZE);
cvNamedWindow(“濾波圖“CV_WINDOW_AUTOSIZE);
????FilterMid(?img8);
cvShowImage(“濾波圖“img);
cvShowImage(“原圖“src);

IplImage?*gray_image?=?cvCreateImage(cvGetSize(img)81);
IplImage?*rgb_image?=?cvCreateImage(cvGetSize(img)83);
cvZero(gray_image);
cvZero(rgb_image);
?
gray_image=cvCloneImage(img);
cvCvtColor(gray_imagergb_imageCV_GRAY2BGR);

?
CvMemStorage?*storage?=?cvCreateMemStorage(0);
CvSeq?*first_contours?=?NULL*temp_contours?=?NULL;

//int?thresh=80;
//IplImage?*canny_image?=?0;

//cvCanny(gray_imagecanny_imagethreshthresh*23);
int?n?=?cvFindContours(gray_imagestorage&first_contourssizeof(CvContour)?CV_RETR_LIST?CV_CHAIN_APPROX_SIMPLE);
//int?n?=?cvFindContours(gray_imagestorage&first_contourssizeof(CvContour)?CV_RETR_EXTERNALCV_CHAIN_APPROX_SIMPLE);
printf(“n=%d\n“n);
temp_contours=first_contours;

for?(;temp_contours!=NULL;temp_contours=temp_contours->h_next)
{
vectorpt_vec;
CvPoint?*pt;
cvDrawContours(rgb_imagetemp_contoursCV_RGB(00255)CV_RGB(00255)02CV_FILLEDcv

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-08?10:17??最小二乘法求圓心和半徑\
?????目錄???????????0??2018-07-08?10:17??最小二乘法求圓心和半徑\Debug\
?????文件???????54272??2018-07-08?10:16??最小二乘法求圓心和半徑\Debug\最小二乘法求圓心和半徑.exe
?????文件??????536632??2018-07-08?10:16??最小二乘法求圓心和半徑\Debug\最小二乘法求圓心和半徑.ilk
?????文件?????1518592??2018-07-08?10:16??最小二乘法求圓心和半徑\Debug\最小二乘法求圓心和半徑.pdb
?????目錄???????????0??2018-07-08?10:17??最小二乘法求圓心和半徑\ipch\
?????目錄???????????0??2018-07-08?10:17??最小二乘法求圓心和半徑\ipch\最小二乘法求圓心和半徑-1d1051d3\
?????文件????56754176??2018-07-08?10:17??最小二乘法求圓心和半徑\ipch\最小二乘法求圓心和半徑-1d1051d3\最小二乘法求圓心和半徑-cbdd3d9.ipch
?????文件?????????966??2018-07-08?09:27??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑.sln
?????文件????13324288??2018-07-08?10:18??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑.sdf
?????目錄???????????0??2018-07-08?10:17??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\
?????文件?????1148754??2018-07-06?14:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Circle.bmp
?????目錄???????????0??2018-07-08?10:17??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\
?????文件???????10276??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\CL.read.1.tlog
?????文件?????????322??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\CL.write.1.tlog
?????文件?????????646??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\cl.command.1.tlog
?????文件????????2826??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\link.command.1.tlog
?????文件????????5040??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\link.read.1.tlog
?????文件?????????398??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\link.write.1.tlog
?????文件??????478208??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\vc100.idb
?????文件??????995328??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\vc100.pdb
?????文件??????173393??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\最小二乘法求圓心.obj
?????文件??????????77??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\最小二乘法求圓心和半徑.lastbuildstate
?????文件????????3578??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\最小二乘法求圓心和半徑.log
?????文件???????????0??2018-07-08?09:34??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\Debug\最小二乘法求圓心和半徑.write.1.tlog
?????文件????????4427??2018-07-08?10:16??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\最小二乘法求圓心.cpp
?????文件????????4011??2018-07-08?09:34??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\最小二乘法求圓心和半徑.vcxproj
?????文件?????????962??2018-07-08?09:34??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\最小二乘法求圓心和半徑.vcxproj.filters
?????文件?????????143??2018-07-08?09:27??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑\最小二乘法求圓心和半徑.vcxproj.user
?????文件???????10752??2018-07-08?10:17??最小二乘法求圓心和半徑\最小二乘法求圓心和半徑.suo
?????目錄???????????0??2018-07-08?10:06??最小二乘法求圓心和半徑\ipch\最小二乘法求圓心和半徑-5cc1797e\
............此處省略1個文件信息

評論

共有 條評論