程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> Hough變換——Opencv版本

Hough變換——Opencv版本

編輯:關於C
[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的專欄
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved