如何利用opencv计算图像畸变系数,并进行校正与摄像机标定

如何利用opencv计算图像畸变系数,并进行校正与摄像机标定,第1张

//圆形检测代码demo

//载入数张包含各种形状的,检测出其中的圆形

#include "cvh"

#include "highguih"

#include <mathh>

#include <stringh>

#include <iostream>

int thresh = 50;

IplImage img =NULL;

IplImage img0 = NULL;

IplImage pImg8u=NULL;

CvMemStorage storage =NULL;

const char wndname = "圆形检测 Demo";

char names[] = { "aapng","bbpng","pic8png","pic7png","pic3png","pic9png","pic10png",

"pic11png","pic12png","pic13png","pic14png",0};

void HoughCircle()

{

CvSeq circles=NULL;

pImg8u=cvCreateImage(cvGetSize(img),8,1);

CvMemStorage storage = cvCreateMemStorage(0);

cvCvtColor(img,pImg8u,CV_BGR2GRAY);

//最好先cvSmooth一下,再调用cvHoughCircles

cvSmooth(pImg8u,pImg8u,CV_GAUSSIAN,7,7);

circles=cvHoughCircles(pImg8u,storage,CV_HOUGH_GRADIENT,

2, //最小分辨率,应当>=1

pImg8u->height/4, //该参数是让算法能明显区分的两个不同圆之间的最小距离

140, //用于Canny的边缘阀值上限,下限被置为上限的一半

118, //累加器的阀值

2, //最小圆半径

120 //最大圆半径

);

int k;

for (k=0;k<circles->total;k++)

{

float p=(float)cvGetSeqElem(circles,k);

//cvCircle( img, cvPoint(cvRound(p[0]),cvRound(p[1])), 3, CV_RGB(0,255,0), -1, 8, 0 );

cvCircle(img,cvPoint(cvRound(p[0]),cvRound(p[1])),cvRound(p[2]),CV_RGB(0,0,0),3,CV_AA,0);

}

cvClearMemStorage( storage );

}

int main(int argc, char argv)

{

int i, c;

// create memory storage that will contain all the dynamic data

for( i = 0; names[i] != 0; i++ )

{

img0 = cvLoadImage( names[i], 1 );

if( !img0 )

{

cout<<"不能载入"<<names[i]<<"继续下一张"<<endl;

continue;

}

img = cvCloneImage( img0 );

HoughCircle();

cvNamedWindow( wndname, 1 );

cvShowImage(wndname,img);

c = cvWaitKey(0);

cvReleaseImage( &img );

cvReleaseImage( &img0 );

cvReleaseImage(&pImg8u);

if( (char)c == 27 )

break;

}

cvDestroyWindow( wndname );

return 0;

}

以上就是关于如何利用opencv计算图像畸变系数,并进行校正与摄像机标定全部的内容,包括:如何利用opencv计算图像畸变系数,并进行校正与摄像机标定、如何用opencv实现任意联通区域的最大内接圆、用opencv函数HoughCircles为什么检测不到圆等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10141106.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存