设为首页 加入收藏

TOP

Hough变换――Opencv版本
2014-11-24 00:36:28 来源: 作者: 【 】 浏览:23
Tags:Hough 变换 Opencv 版本
[cpp]
void CCVMFCView::OnHoughLines()
{
IplImage* src = 0,*color_dst;
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* lines = 0;
int i;

if (workImg->nChannels==3) {
src = cvCreateImage(cvGetSize(workImg), IPL_DEPTH_8U, 1);
cvCvtColor(workImg, src, CV_BGR2GRAY);
}
else {
src = cvCloneImage( workImg );
}

dst = cvCreateImage( cvGetSize(src), 8 ,1 );
color_dst = cvCreateImage( cvGetSize(src), 8 ,3);
cvFlip(src);
cvCanny( src, dst, 50, 120, 3 );
cvCvtColor(dst,color_dst,CV_GRAY2BGR);

lines = cvHoughLines2( dst, storage, CV_HOUGH_PROBABILISTIC, 1, CV_PI/180, 20, 20,30 );
//lines = cvHoughLines2( dst, storage, CV_HOUGH_PROBABILISTIC, 1,CV_PI/180, 80, 60,30 );

for( i = 0; i < lines->total; i++ )
{
CvPoint* line = (CvPoint*)cvGetSeqElem(lines,i);
cvLine( color_dst, line[0], line[1], CV_RGB(255,0,0), 3, CV_AA, 0 );
}

cvNamedWindow( "Hough", 1 );
cvShowImage( "Hough", color_dst );

cvWaitKey(0);

cvReleaseMemStorage(&storage );
cvReleaseImage( &src );
cvReleaseImage( &dst );
cvDestroyWindow( "Hough" );
}



摘自 abcjennifer的专栏
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇wxWidgets:使用xrc文件分离界面与.. 下一篇swprintf和sprintf的使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: