天天看點

角點檢測(corner detection)的源代碼(需要OPENCV庫的支援)

這是在 Ruadhan 提供的源代碼基礎上做了一些修改,可以檢測圖像中的角點。應用環境是:OPENCV BETA 4,VC6 編譯運作通過。

運作檔案下載下傳位址:

<a href="http://www.assuredigit.com/program/corner.exe">http://www.assuredigit.com/program/corner.exe</a>

==========

#include

#include "cv.h"

#include "highgui.h"

#define max_corners 100

int main( int argc, char** argv )

{

    int cornerCount=max_corners;

    CvPoint2D32f corners[max_corners];

    double qualityLevel;

    double minDistance;

    IplImage *srcImage = 0, *grayImage = 0, *corners1 = 0, *corners2 = 0;

    int i;

    CvScalar color = CV_RGB(255,0,0);

    char* filename = argc == 2 ? argv[1] : (char*)"..//..//c//pic3.png";

    cvNamedWindow( "image", 1 ); // create HighGUI window with name "image"

    //Load the image to be processed

    srcImage = cvLoadImage(filename,1);

    grayImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 1);

    //copy the source image to copy image after converting the format

    cvCvtColor(srcImage, grayImage, CV_BGR2GRAY);

    //create empty images of same size as the copied images

    corners1= cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_32F, 1);

    corners2= cvCreateImage(cvGetSize(srcImage),IPL_DEPTH_32F, 1);

    cvGoodFeaturesToTrack (grayImage, corners1, corners2, corners,

        &amp;cornerCount, 0.05, 5, 0);

    printf("num corners found: %d\n", cornerCount);

    // draw circles at each corner location in the gray image and

    // print out a list the corners

    if(cornerCount&gt;0)

    {

        for (i=0; i

        {

            cvCircle(srcImage, cvPoint((int)(corners[i].x), (int)(corners[i].y)), 6,

                color, 2, CV_AA, 0);

        }

    }

    cvShowImage( "image", srcImage );

    cvReleaseImage(&amp;srcImage);

    cvReleaseImage(&amp;grayImage);

    cvReleaseImage(&amp;corners1);

    cvReleaseImage(&amp;corners2);

    cvWaitKey(0); // wait for key. The function has

    return 0;

}

本文轉自feisky部落格園部落格,原文連結:http://www.cnblogs.com/feisky/archive/2008/04/11/1586572.html,如需轉載請自行聯系原作者

繼續閱讀