zoukankan      html  css  js  c++  java
  • 角点检测

    #include <stdio.h>
    #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);
        
        cvNamedWindow( 
    "image"1 ); // create HighGUI window with name "image"
        
        
    //Load the image to be processed
        srcImage = cvLoadImage("..//..//c//pic3.png"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,
            
    &cornerCount, 0.0550);
        
        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>0
        
    {
            
    for (i=0; i<cornerCount; i++
            
    {
                cvCircle(srcImage, cvPoint((
    int)(corners[i].x), (int)(corners[i].y)), 6,
                    color, 
    2, CV_AA, 0);
            }

        }

        
        cvShowImage( 
    "image", srcImage ); 
        
        cvReleaseImage(
    &srcImage);
        cvReleaseImage(
    &grayImage);
        cvReleaseImage(
    &corners1);
        cvReleaseImage(
    &corners2);
        
        cvWaitKey(
    0); // wait for key. The function has
        return 0;
    }


  • 相关阅读:
    test
    封装和构造方法
    面向对象
    数组的排序
    UDP编程(八)
    多的是面向对象你不知道的事
    面向对象组合的使用
    类成员的进一步阐述
    面向对象初始
    吾日三省吾身
  • 原文地址:https://www.cnblogs.com/wqj1212/p/1011434.html
Copyright © 2011-2022 走看看