opencv 角点检测

#include <stdio.h>
#include <cv.h>
#include <highgui.h>

int main()
{
	int cornersCount=100;//得到的角点数目
	CvPoint2D32f corners[100];//输出角点集合
	IplImage *src = 0,*gray = 0,*first = 0,*second = 0;
	int i;
	
	char *filename = "D:/a_project/车牌图片/14.jpg";
	src = cvLoadImage(filename,1);
	gray = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,1);
   //复制并转为灰度图像
	cvCvtColor(src,gray,CV_BGR2GRAY);
   //两幅临时32位浮点图像,cvGoodFeaturesToTrack会用到
	first = cvCreateImage(cvGetSize(src),IPL_DEPTH_32F,1);
	second = cvCreateImage(cvGetSize(src),IPL_DEPTH_32F,1);

	cvGoodFeaturesToTrack(gray,first,
		second,corners,
		&cornersCount,0.05,
		25,//角点的最小距离
		0,//整个图像
		3,0,0.4);
	//默认值
	

	//开始画出每个点
	if (cornersCount>0)
	{
		for (i=0;i<cornersCount;i++)
		{
			cvCircle(src,cvPoint((int)(corners[i].x),(int)(corners[i].y)),
				2, CV_RGB(255,0,0),2,CV_AA,0);
		}
	}
	cvNamedWindow("图",1);
	cvShowImage("图",src);
	
	cvReleaseImage(&src);
	cvReleaseImage(&gray);
	cvReleaseImage(&first);
	cvReleaseImage(&second);

	cvWaitKey(0);
	return 0;
} 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值