当前位置: 首页 > news >正文

【图像识别】基于模板匹配实现花朵分类matlab代码

1 简介

基于直方图实现花朵分类代码​。

2 部分代码

%图一:利用直方图进行图像的匹配 %图二:利用形状进行图像的匹配 %交给你们啦~~~~ %-要求mo<=num clear; mo = 1;%-选取第?幅图像 num=5;%图片总数量 distance_const=0.8;%设定直方图距离 similar_const=0.5;%设定形状匹配相似度 close all; %获取第一幅图像 sname='';%统一修改存储位置,修改路径时只需在此步修改 ss=[sname,num2str(mo),'.jpg'] ; %打开待匹配图像 f1=open_img(ss); %求待匹配图像的累计直方图 %选择其它待匹配图像 distance=zeros(1,num); for j=1:num sl=[sname,num2str(j),'.jpg'] f2=open_img(sl); %进行直方图的匹配 d=zeros(1,256); for ii=1:256 d(ii)=(sqrt((f1(ii)-f2(ii)).^2)); end distance(j)=sum(d); end distance_num=mo; for j=1:num if distance(j)>0 if distance(j)<=distance_const distance_num=[distance_num,j]; end end end %************************************************************************** %**** disp('采用直方图匹配,在给定的距离值以内的图片名称数为:'); distance_num disp('采用直方图匹配,在给定的距离值以内的图片数目为:'); length(distance_num) %************************************************************************** figure(1) num = length(distance_num); %查找到的累积直方图匹配的图像个数 ref =[sname,num2str(mo),'.jpg']; %待检索的图像 ref_img = imread(ref); %打开图像 subplot(num+1,2,1); imshow(ref_img); title('待匹配图像') h1=IMHISTS(ref_img); %对原图像求取直方图 subplot(num+1,2,2); bar(h1,0.075,'b'); axis([0 255 0 4000]); title('待匹配图像的直方图'); for i = 1:num match = [sname,num2str(distance_num(i)),'.jpg']; %数据库图像 match_img = imread(match); %打开图像 subplot(num+1,2,2*i+1); imshow(match_img); ttxt=sprintf('第%d匹配图像',i);title(ttxt); h2=IMHISTS(match_img); %对匹配图像求取直方图 subplot(num+1,2,2*i+2); bar(h2,0.075,'b'); axis([0 255 0 4000]); ttxt=sprintf('第%d匹配图像直方图',i);title(ttxt); end similar = ones(1,num); rec_tang_1=center_rectangle(ref_img); for i = 1:num match = [sname,num2str(distance_num(i)),'.jpg'];%数据库图像 match_img = imread(match); %打开图像 rec_tang = center_rectangle(match_img); for j = 1:6 similar(i) = similar(i) * (1- abs(rec_tang_1(j)-rec_tang(j)) / (rec_tang_1(j)+rec_tang(j)) ); end end similar_num=mo for i=1:num if abs(i-mo)>0 if similar(i)<=similar_const similar_num=[similar_num,i]; end end end %************************************************************************** %**** disp('采用形状匹配,在给定的距离值以内的图片名称数为:'); similar_num disp('采用形状匹配,在给定的距离值以内的图片数目为:'); length(similar_num) %************************************************************************** num=length(similar_num); figure(2) for i = 1:num match = [sname,num2str(similar_num(i)),'.jpg']; %数据库图像 match_img = imread(match); %打开图像 subplot(num,1,i); imshow(match_img); ttxt=sprintf('第%d匹配图像',i);title(ttxt); end

3 仿真结果

4 参考文献

[1]王宪保, 杨敬, 肖本督,等. 一种基于机器学习的花朵种类识别方法:, CN110458200A[P]. 2019.

部分理论引用网络文献,若有侵权联系博主删除。

http://www.jsqmd.com/news/1328592/

相关文章:

  • 如何让Windows任务栏变成你的私人股票行情看板?
  • 大语言模型LLM
  • 2026全域GEO运营软件推荐:Aionclaw在内主流AI工具综合测评与场景选型指南
  • OFD 转 PDF 用哪个工具方便?2026 年好用的转换方案盘点 - 办公小帮手
  • 【微软商店(Microsoft Store)重置后打不开,商店下载不了应用的解决方法】
  • KCN-GenshinServer终极指南:5分钟搭建原神私服的完整解决方案
  • 【面向对象】面向对象设计原则:SOLID五大原则
  • MFC扩展库BCGControlBar Pro v33.6亮点 - 流程图、Ribbon Bar功能升级
  • ElasticSearch获取多个文档Multi GET API介绍
  • UE5 C++大型项目命名规范实战:从代码到资源的全生命周期协作指南
  • 3分钟解决所有DLL缺失问题:VisualCppRedist AIO一键修复系统组件
  • 界面组件DevExpress WinForms v23.1 - TreeList、UI模板全新升级
  • Rekognition 实战踩坑:OCR 精度 98% 但人脸分析 API 调用费让我连夜改方案
  • 湖南岳阳市家长参考!青春期叛逆青少年成长干预基地整理汇总,2026 择校参考 - Luckyone王
  • 编辑器中间插入压测:顺序表与间隙缓冲区的移动账单
  • Unity资源加载优化全攻略:从异步加载到Addressables实战
  • 2026网安稀缺能力:业务漏洞挖掘完整学习路线(竞争最小、分值最高、最容易出成果)
  • 2026年AI GEO工具推荐:生成引擎优化从业者实用工具选型完整指南
  • 免费硬件监控神器:LibreHardwareMonitor让电脑健康一目了然
  • 酒吧挂账管理:手动操作与收银软件流程对比
  • 【AI差分隐私技术实战指南】:20年专家亲授5大落地陷阱与3步合规部署法
  • Cadence学习
  • ExifToolGUI终极指南:免费高效的图片元数据批量管理完整解决方案
  • VS2022+QT5.15.2进行CAN通讯的上位机开发(3)
  • ElasticSearch倒排索引
  • 辽宁铸铝门用三年了,真的不锈吗?
  • C语言准大一开始之旅!!!
  • 3步掌握SRWE:突破Windows窗口限制的实时编辑神器
  • Qt5Compat.GraphicalEffects模块详解与UI特效实战
  • 传统收银机 vs 智能收银终端:系统流畅度与升级成本对比