在上文MATLAB示例——图像中米粒个数的识别中,我详细介绍了图像中米粒个数的识别以及计数相关算法及程序实现。但是我们发现,最后的结果米粒计数好像是从任意位置开始的,那要如何从最左上端开始,到右下端结束呢?

主要思路

我的主要思想是统计出标签矩阵 L中各个米粒的横纵坐标位置,将其赋值在一个元胞数组1中,然后提取出横坐标的最小值(如果按列排序则提取出纵坐标的最小值)将其存放在另一个矩阵中。
依次遍历另一个新的元胞数组2,同时寻找横坐标矩阵最小值所在的行数,将其对应的行数所在的元胞数组1中存放的数据赋值到2中。
这样就完成了排序。
这样说,可能不太明白,直接上代码演示:

程序设计

%% 从左到右依次计数
%RC元胞数组用于统计米粒的横坐标长度和纵坐标长度
for k = 1:n[r,c]= find(L == k);RC{k,1}=r;% RC{k,1}表示第k行第一列存放第k个米粒的横坐标数值RC{k,2}=c;% RC{k,2}表示第k行第二列存放第k个米粒的纵坐标数值
end%统计RC元胞数组中第一列中的最小值(行最小值)
for jj=1:n    RR(jj,1)=min(RC{jj,1});
end%对RC根据从小到大进行排序赋值给RC2
for jjj=1:n[~,kkk]=min(RR);%找到RR的最小值的行坐标RR(kkk,1)=Inf;%最小值赋值为无穷大,方便找到次小值%排序RC2{jjj,1}=RC{kkk,1};RC2{jjj,2}=RC{kkk,2};
end
figure(3),imshow(f);title('顺序排序');%输出从左上开始排序的图像
hold on;
for k = 1:nr=RC2{k,1};c=RC2{k,2};rbar = mean(r);%计算均值cbar = mean(c);%lengthh(k,1) = max(RC2{k,1})-min(RC2{k,1});%计算条码的高%lengthh(k,2) = max(RC2{k,2})-min(RC2{k,2});%计算条码的长plot(cbar,rbar,'Marker','o','MarkerEdgeColor','k','MarkerFaceColor','k','MarkerSize',10);% 标注oplot(cbar,rbar,'Marker','*','MarkerEdgeColor','w');     % 标注*text(cbar,rbar,num2str(k),'Color','red','FontSize',14); % 标注标号
end

输出图像:

可以看到,图像中米粒大小从左到右进行了顺序排序。

如果我们想要自上而下排序,则只需要修改将RC{jj,1}改为RC{jj,2}即可。


输出图像:

ok,以上便是全部内容了,如果对你有所帮助,记得点个赞呦~

图像中米粒个数的识别(2)——如何从左到右依次给米粒计数相关推荐

  1. MATLAB示例——图像中米粒个数的识别

    目录 一.任务要求 二.图像处理 2.1 读取图像 2.2 形态学处理 2.3 二值化 2.4 对连通性进行标注 三.质心寻找及序号标注 3.1 质心寻找 3.2 序号标注 四.完整程序代码 一.任务 ...

  2. matlab 控制图例个数,MATLAB 识别图像中米粒个数

    clc,clear,close all;                  % 清除缓存 % 2019/10/11 星期五  DAY12 % 功能:识别照片中米粒个数并作出相应标记.计数 % 说明:无 ...

  3. 【数字图像处理】求图像rice.png中米粒个数

    图像处理课程上老师布置的任务,要求求出图片rice.png中米粒的个数及其各米粒的大小. rice.png: 大体步骤是:首先进行边缘检测,然后进行填充.然后进行开运算,可以使一些轻微连着的米粒分开来 ...

  4. java识别图片中的图形形状_基于Java+OpenCV技术对几何图像颜色与形状识别

    基于 Java+OpenCV 技术对几何图像颜色与形状识别 杨思阳 黄军 吴春秋 (黔东南民族职业技术学院,贵州 凯里 556000) [摘 要] 通过 Java 调用 OpenCV 视觉库实现几何图 ...

  5. 机器视觉及图像处理系列之二(C++,VS2015)——图像级的人脸识别(1)

    机器视觉及图像处理系列之二(C++,VS2015)--图像级的人脸识别(1) 接上一篇,一切顺利的话,你从github上clone下来的整个工程应该已经成功编译并生成dll和exe文件了:同时,Ima ...

  6. MSTAR数据库结合深度学习(SAR图像目标检测与识别)

    MSTAR数据库作为SAR图像自动目标识别(SAR ATR)研究的一个通用库,被很多学者广泛采用.从现有的SAR ATR系统处理流程来看,目标检测作为该系统的前端,很大程度上影响系统后续识别性能,在较 ...

  7. 论文笔记(二):基于卷积神经网络的高分辨率遥感图像上的水体识别技术

    基于卷积神经网络的高分辨率遥感图像上的水体识别技术 作者:徐文健 作者单位:浙江大学 日期:2017.01 (硕士学位论文) https://kns.cnki.net/KCMS/detail/deta ...

  8. SAR图像飞机目标检测识别进展

    目标检测与识别是高分辨合成孔径雷达(SAR)领域的热点问题.机场上飞机作为一种典型目标,其检测与识别具有一定的独特性.在检测与识别的过程中,如何将深度学习和目标电磁散射机理结合.提高网络或模型的泛化能 ...

  9. bmp 格式图像印刷体数字的识别

    一.实验目的 初步了解模板匹配算法,理解bmp 图像在内存中的存储形式,实现bmp 格式图像印刷体数字的识别. 二.算法概要 由于实验要求是对标准印刷体数字进行识别,本实验采用模板匹配中最简单的像素点 ...

最新文章

  1. 国庆七天学Linux技能,休闲假期不负时光
  2. yml文件配置mysql表大小写_springboot常用配置(yml文件)
  3. 计算机意外关闭原因 安全问题,win7弹出“计算机意外地重新启动或遇到错误”处理方法...
  4. BZOJ 2176 Strange string 最小表示法
  5. 配置LANMP环境(9)-- 安装Git与vsftp
  6. 敏捷与CMMI的同与不同
  7. Makefile:94: recipe for target 'install-***-recurse' failed 解决方法
  8. 服务器都有哪些安全配置总结
  9. 对指定网站渗透的一些总结
  10. vscode登陆中国版leetcode
  11. 7个最好的Java机器学习开发库
  12. 白杨SEO:微信视频号直播功能怎么开通?视频号有什么价值?
  13. 我爱你用计算机按出来,iPhone计算器魔法技巧 简单几步获取对方手机号
  14. Unix和Linux有什么区别? 通俗解释
  15. MATLAB(矩阵基本运算)
  16. 换内存条电脑蓝屏问题【已解决】
  17. 计算机水平怎么填范例,简历表个人能力怎么写(大学生个人获奖情况范例)
  18. 权限提升之——数据库提权
  19. 计算机网络 四、五层协议体系结构-----数据链路层
  20. 如何在7天内快速完成游戏原型设计

热门文章

  1. 疫情中的AI,需要多一点情感关怀
  2. 案例03 补充:金字塔等图形边框的绘制
  3. 求一个计算机高配置表,组装电脑的高配置清单
  4. 【社招3年day1】面了一次今日头条:成功入职
  5. 臀中肌----为你的膝盖保驾护航,臀中肌的作用以及最佳训练动作
  6. win7鼠标设置在哪_win7启动修复
  7. 【vim】vim命令|工具
  8. SQL查询每个用户首次购买商品
  9. dll文件修复工具有官网可以下载吗?dll修复攻略
  10. PDF怎么转换成Excel?用迅读PDF大师,完美复刻、精准转换