这是在 Ruadhan 提供的源代码基础上做了一些修改,可以检测图像中的角点。应用环境是:OPENCV BETA 4,VC6 编译运行通过。
运行文件下载地址:
http://www.assuredigit.com/program/corner.exe
==========
#include <stdio.h><br>#include "cv.h"<br>#include "highgui.h"<br>#define max_corners 100</stdio.h>
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,
&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>0)
{
for (i=0; i<cornercount i> {<br> cvCircle(srcImage, cvPoint((int)(corners[i].x), (int)(corners[i].y)), 6,<br> color, 2, CV_AA, 0);<br> }<br> }<br><br> cvShowImage( "image", srcImage ); <br><br> cvReleaseImage(&srcImage);<br> cvReleaseImage(&grayImage);<br> cvReleaseImage(&corners1);<br> cvReleaseImage(&corners2);<br><br> cvWaitKey(0); // wait for key. The function has<br> return 0;<br>}<br></cornercount>
<!-- Signature -->
-----------------敕勒川,阴山下
天似穹庐,笼罩四野
天苍苍,野茫茫,风吹草低见牛羊<!-- Signature --><!-- Message body ''"" -->
分享到:
相关推荐
在压缩包文件中,"harris corner detection"可能是实现Harris角点检测的源代码文件,包含了上述步骤的具体实现。通过阅读和理解这段代码,你可以更深入地了解如何在实际项目中应用Harris角点检测算法。 总之,...
在Python中实现Harris角点检测,可以使用OpenCV库,这是一个强大的计算机视觉库,提供了许多图像处理函数。在OpenCV中,可以调用`cv2.cornerHarris()`函数进行角点检测。这个函数需要输入图像、块大小、搜索窗口大小...
### C++ OpenCV3 源代码 Harris 角点检测 #### 一、Harris角点检测概述 在计算机视觉领域,特征检测是一项基础而重要的技术。它可以帮助我们从图像中提取出有意义的信息,比如边缘、角点等,进而进行更复杂的图像...
### C++ OpenCV3 源代码:Shi-Tomasi 角点检测 #### 一、概述 在计算机视觉领域,特征检测是一项基础而重要的技术。它可以帮助我们从图像中提取出有意义的信息,比如角点就是一种常用的特征点。Shi-Tomasi角点检测...
在本项目中,"corner-detection-project.zip" 是一个基于 C# 和 OpenCV 的角点检测应用。OpenCV 是一个广泛使用的计算机视觉库,它提供了多种功能强大的图像处理和计算机视觉算法,包括角点检测。C# 版本的 OpenCV...
总结来说,"Fastcorner"角点检测算法是OpenCV库中的一种高效算法,结合了机器学习的方法,旨在提供快速而准确的角点检测。对于那些需要在实时应用中处理大量图像数据的开发者而言,这是一个非常有价值的工具。
在`EMGU_STUDY_2.0`这个压缩包文件中,可能包含了项目的源代码、相关文档以及可能的示例图片,用于帮助理解角点检测的实现过程。通过学习和理解这个项目,开发者可以掌握EmguCV的基本用法,以及如何利用它进行实时的...
OpenCV(Open Source Computer Vision Library)作为一款强大的开源计算机视觉库,提供了丰富的功能支持,其中包括了用于检测图像中的角点的`cornerHarris`函数。本文将详细介绍`cornerHarris`函数的基本原理、参数...
OpenCV库内含几种不同的角点检测算法,例如Harris角点检测器、Shi-Tomasi(又称为Good Features to Track)检测器以及Hessian矩阵检测器。这些算法能帮助我们找到图像中显著且稳定的角点。 在"02 角度探测器"项目中...
### OpenCV 2.3 最佳实践教程概览与核心知识点解析 #### 一、OpenCV简介 **OpenCV(Open Source Computer Vision Library)** 是一个开源计算机视觉库,广泛应用于图像处理、视频分析和模式识别等领域。OpenCV 2.3...
Node.js提供了访问原生C/C++库的能力,如OpenCV的Node.js绑定,可以利用OpenCV的预封装角点检测算法。另外,浏览器环境中的WebAssembly可以用来运行高性能的计算密集型任务,如图像处理。 一个典型的角点检测流程...
在C++和MFC环境下实现哈里斯算法,你需要包含必要的头文件,如 `<opencv2/opencv.hpp>`,并使用OpenCV库来处理图像和计算特征。首先,读取图像,然后进行预处理(如灰度化、高斯滤波)。接着,计算图像的梯度,构建...
它结合了FAST角点检测器(Fast Algorithm for Corner Detection)和BRIEF(Binary Robust Independent Elementary Features)描述符。ORB的主要优势在于它的速度和鲁棒性,使其成为实时计算机视觉应用的理想选择。 ...