OpenCV C++车型识别2-形状匹配

这个程序使用OpenCV C++实现简单的车型识别,这一小节识别具体的车型。

形状数据库里有四种,分别是0--小汽车、1--SUV、2--商务车、3--面包车:

输入图片:

按照第一节《OpenCV C++车型识别1-图像预处理-CSDN博客》,把输入图片处理成下面这样:

很明显能看出来这个图片和上面的1.bmp比较像,对应的车型是SUV.

这是CMD里的输出:

代码:

cpp 复制代码
    IplImage *sample[4];
	sample[0]=cvLoadImage("0.bmp",0);
	sample[1]=cvLoadImage("1.bmp",0);
	sample[2]=cvLoadImage("2.bmp",0);
	sample[3]=cvLoadImage("3.bmp",0);
	
	CvMemStorage *storage_sample=NULL;
	storage_sample=cvCreateMemStorage(0);
	cvClearMemStorage(storage_sample);
	CvSeq* contours_data[4];
	for(int i=0;i<4;i++)
		contours_data[i]=0;
	for(int i=0;i<4;i++)
		cvFindContours(sample[i],storage_sample,&contours_data[i],sizeof(CvContour),CV_RETR_EXTERNAL);
	double xiangshidu[4];
	memset(xiangshidu,0,sizeof(xiangshidu));
	xiangshidu[0]=cvMatchShapes(contour,contours_data[0],2);
	for(int i=0;i<4;i++)	
	{
		xiangshidu[i]=cvMatchShapes(contour,contours_data[i],2,0);
	}

	int BestMatch=0;
	double min_xiangshidu=xiangshidu[0];
	for(int i=0;i<4;i++)
	{	
		if(xiangshidu[i]<min_xiangshidu)
		{
			min_xiangshidu=xiangshidu[i];
			BestMatch=i;
		}
	}
		switch (BestMatch)
		{
		case 0:
			AfxMessageBox("车型为:小汽车");
		    break;
		case 1:
			AfxMessageBox("车型为:SUV");
			break;
		case 2:
			AfxMessageBox("车型为:商务车");
			break;
		case 3:
			AfxMessageBox("车型为:面包车");
			break;
		default:
			AfxMessageBox("识别失败");
			break;
		}
相关推荐
BSD_CGQ2 小时前
人形机器人触觉放量,柔性压力传感器采购该核验什么?
人工智能·机器人·压力传感器·源头工厂·柔性薄膜压力传感器
内容营销专家刘鑫炜2 小时前
AI搜索实战专家刘鑫炜:做AI搜索第一步,首先得让 AI 看到你
大数据·人工智能
鬼手爱剪辑2 小时前
短剧AI 配音技术的难点、原理、开源和闭源软件汇总-2026 年
人工智能
田里的水稻2 小时前
PyTorch_Dataloader\TensorBoard---数据加载与可视化
人工智能·pytorch·python·神经网络·机器学习
卿卿的产品经理日记2 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
cxj75142 小时前
GEO 工程化实践:关键页面的快慢双轨更新与多引擎引用维护
人工智能·geo·geo优化
Java_AI工程师2 小时前
Spring4 / SpringBoot1.x 老项目想接入 AI?不用升级框架!3 套无痛落地方案
java·人工智能·spring boot
znnnk2 小时前
【AI技术】Vibe Coding 实践指南:从项目规划到高效开发
人工智能·ai·ai编程·ai ide·vibe coding
Simon_lca2 小时前
ZARA、H&M、SHEIN验厂差异全对比:一套底层记录,三套接口输出
大数据·人工智能·经验分享·科技·制造
爱喝雪碧的可乐2 小时前
DeepSeek 崩了近5小时:一次故障扒透「单点依赖、重试风暴与大模型高可用」
大数据·人工智能·deepseek