OpenCV C++车型识别2-形状匹配
这个程序使用OpenCV C实现简单的车型识别这一小节识别具体的车型。形状数据库里有四种分别是0--小汽车、1--SUV、2--商务车、3--面包车输入图片按照第一节《OpenCV C车型识别1-图像预处理-CSDN博客》把输入图片处理成下面这样很明显能看出来这个图片和上面的1.bmp比较像对应的车型是SUV.这是CMD里的输出代码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_sampleNULL; storage_samplecvCreateMemStorage(0); cvClearMemStorage(storage_sample); CvSeq* contours_data[4]; for(int i0;i4;i) contours_data[i]0; for(int i0;i4;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 i0;i4;i) { xiangshidu[i]cvMatchShapes(contour,contours_data[i],2,0); } int BestMatch0; double min_xiangshiduxiangshidu[0]; for(int i0;i4;i) { if(xiangshidu[i]min_xiangshidu) { min_xiangshiduxiangshidu[i]; BestMatchi; } } switch (BestMatch) { case 0: AfxMessageBox(车型为小汽车); break; case 1: AfxMessageBox(车型为SUV); break; case 2: AfxMessageBox(车型为商务车); break; case 3: AfxMessageBox(车型为面包车); break; default: AfxMessageBox(识别失败); break; }

相关新闻

创业者的技术领导力模型:技术视野、决策能力与团队赋能的三角支撑

创业者的技术领导力模型:技术视野、决策能力与团队赋能的三角支撑

创业者的技术领导力模型:技术视野、决策能力与团队赋能的三角支撑 一、从技术骨干到技术领导者的角色跨越 技术创业者的第一个身份危机发生在从"写代码的人"变成"带人写代码的人"那一刻。这个转变的关键不是学会管理,而是重新理解…

2026/10/17 22:45:36 阅读更多 →
Unity游戏自动化本地化实战:从文本提取到动态加载全流程解析

Unity游戏自动化本地化实战:从文本提取到动态加载全流程解析

1. 项目概述:为什么需要自动化游戏汉化?做独立游戏或者接手海外项目,最头疼的问题之一就是本地化。尤其是对于使用Unity引擎开发的游戏,文本资源往往散落在场景、预制体、ScriptableObject甚至代码里。传统的手动查找替换&#xf…

2026/10/9 8:18:32 阅读更多 →
创业团队的技术升级路线图:从能用、好用到企业级的三个阶段

创业团队的技术升级路线图:从能用、好用到企业级的三个阶段

创业团队的技术升级路线图:从能用、好用到企业级的三个阶段 一、技术债的必然性:快与好的创业魔咒 创业团队面临一个经典困境:早期为了快速验证PMF,技术实现可以"粗糙",但产品一旦被市场接受,技…

2026/10/13 7:52:27 阅读更多 →

最新新闻

大数据分析驱动的农业气象灾害预警实战指南

大数据分析驱动的农业气象灾害预警实战指南

简介:数据驱动的智能决策正深刻改变传统气象服务模式。在农业领域,气象灾害预警依赖对海量观测数据的实时处理与时空关联分析。通过引入大数据处理框架和机器学习模型,能够从站点观测、格点再分析等多源数据中提取灾害演变的规律,…

2026/10/17 22:46:44 阅读更多 →
Kepserver 连接 MySQL 实战:ODBC 驱动配置与数据落地避坑指南

Kepserver 连接 MySQL 实战:ODBC 驱动配置与数据落地避坑指南

简介:这份PDF资料面向工业自动化与数据采集方向的工程师及运维人员,聚焦Kepserver与MySQL数据库的对接场景,解决设备数据落库与可视化管理的实际问题。内容涵盖MySQL数据库安装、Navicat可视化管理工具的安装与破解、32位ODBC驱动配置&#x…

2026/10/17 22:46:44 阅读更多 →
Netty NIO核心组件详解:Buffer、Channel、Selector原理与实战

Netty NIO核心组件详解:Buffer、Channel、Selector原理与实战

1. 从一次线上故障说起:为什么我要回头啃Netty的NIO底座前两年我接手过一个即时通讯服务的性能优化项目,单机压测的时候QPS死活上不去,CPU占用率却高得离谱。当时第一反应是业务代码写得有问题,排查了一圈发现线程池配置、锁竞争、…

2026/10/17 22:46:44 阅读更多 →
大模型提问指南:解题式与启发式,如何划清人与工具的边界

大模型提问指南:解题式与启发式,如何划清人与工具的边界

跟大语言模型打了一年多交道,我越来越觉得,“怎么提问”这件事,本质上是一场关于边界的划分。同样面对一个LLM,有人把它当成二十四小时在线的执行器,有人把它当成帮自己整理思路的思考搭子。这就是标题里说的两种思路&…

2026/10/17 22:46:44 阅读更多 →
C语言单链表查找与建立操作详解:从指针原理到实战避坑

C语言单链表查找与建立操作详解:从指针原理到实战避坑

1. 为什么单链表操作值得反复打磨单链表这个数据结构,几乎每个学C语言的人都会碰到。但我在带新人和看代码的过程中发现一个现象:很多人能默写出插入、删除的代码,却在实际写查找和建表时频繁翻车。比如查找时忘了处理头节点为空的情况&#…

2026/10/17 22:46:44 阅读更多 →
openEuler 20.03 yum仓库配置指南:解决无可用仓库报错

openEuler 20.03 yum仓库配置指南:解决无可用仓库报错

1. 问题背景与核心需求拆解1.1 这个报错到底在说什么如果你刚装完 openEuler release 20.03,兴冲冲敲下yum install想装个软件,结果迎面撞上这么一行:Error: There are no enabled repositories in "/etc/yum.repos.d", "/etc…

2026/10/17 22:45:43 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →