MATLAB计算出图像中多个物体的个数及重心

计算出原始图像中物体的个数及每个物体的中心,并显示出来

I=imread('keshe17.bmp'); //主函数

figure(1),imshow(I);

title('原始图像');

I2 = rgb2gray(I);

I4 = im2bw(I2, 0.7) ;

figure(2),imshow(I4);

I4=~I4;

bai=double(I4);

figure(3),imshow(I4);

title('二值图像');%像素为1的二值图像

=count(bai);

for i=1:geshu

a=fenge(bai);

bai=bai-a;

f=centre(a);

I4(f(1),f(2))=0;

I(f(1),f(2))=255;

end

figure(4),imshow(I4);

figure(5),imshow(I);

function f=fenge(D) %对像素为255的白色的物体二值图像进行分割

[m,n]=size(D);

H=zeros(m,n);

for i=1:m

for j=1:n

if D(i,j)~=0;

H(i,j)=1;

a=i;

b=j;

break;

end

end

if D(i,j)~=0;

break;

end

end

for i=2:(m-1)

for j=2:(n-1)

if (D(i,j)~=0 )

if(H(i,j-1)~=0 | H(i-1,j-1)~=0 | H(i-1,j)~=0 | H(i-1,j+1)~=0)

H(i,j)=1;

end

end

end

end

a=m-1;

while i>1

i=a;

a=a-1;

j=n-1;

while(j>1)

j=j-1;

if (D(i,j)~=0)

if(H(i,j+1)~=0 | H(i+1,j+1)~=0 | H(i+1,j)~=0 | H(i+1,j-1)~=0 |H(i,j-1)~=0 | H(i-1,j-1)~=0 | H(i-1,j)~=0 | H(i-1,j+1)~=0)

H(i,j)=1;

end

end

end

end

f=H;

function f=count(D) %对白色的二值图像的物体进行数数

[m,n]=size(D);

D=double(D);

a=0;

while 1

B=zeros(m,n);

B=fenge(D);

a=a+1;

D=D-B;

if D==0

break;

end

end

f=a;

function f=centre(H) %求白色物体的中心。即先求所有点的坐标的和,然后除以点的个数

[m,n]=size(H);

a=0;

b=0;

k=0;

for i=1:m

for j=1:n

if H(i,j)~=0

a=a+i;

b=b+j;

k=k+1;

end

end

end

D=a/k;

E=b/k;

f=[round(D) round(E)];

matlab计算重心的函数,MATLAB计算出图像中多个物体的个数及重心.doc相关推荐

  1. 如何用matlab编写分段函数_请教各位怎样用matlab定义一个分段函数MATLAB分段函数...

    请教各位怎样用matlab定义一个分段函数 MATLAB分段函数 www.zhiqu.org     时间: 2020-12-08 matlab提供了了两种定义分段函数的方法: 常规方法:使用if.. ...

  2. 利用OpenCV的函数matchTemplate()实现在图像中寻找、检索、搜索模板图像【图像模板匹配】

    利用OpenCV的函数matchTemplate()实现在图像中寻找.检索.搜索模板图像[图像模板匹配] 在博文 https://www.hhai.cc/thread-220-1-1.html 中我们 ...

  3. 教你如何用Python检测出图像中的黄色?都在这里!

    首先,这里不搞黄色,只搞学习,希望大家好好学习,争取早日变成大佬,升职加薪.当上总经理.出任CEO.迎娶白富美.走上人生巅峰,想想是不是有点小激动. 等等,别跑偏了,接下来开始学习. 有时我们需要检测 ...

  4. python使用matplotlib可视化线图(line plot)、使用arrow函数在matplotlib可视化图像中添加箭头(drawing arrows in matplotlib)

    python使用matplotlib可视化线图(line plot).使用arrow函数在matplotlib可视化图像中添加箭头(drawing arrows in matplotlib) 目录

  5. R语言ggplot2可视化:使用patchwork包将多个ggplot2可视化结果组合起来、使用plot_spacer函数在组合结果图像中的指定位置加入空白区域(不包含任何内容,纯粹空白图)

    R语言ggplot2可视化:使用patchwork包将多个ggplot2可视化结果组合起来.使用plot_spacer函数在组合结果图像中的指定位置加入空白区域(不包含任何内容,纯粹空白图) 目录

  6. matlab 设置为匿名函数,MATLAB匿名函数

    本文概述 匿名函数是简单的(单行)用户定义函数, 无需创建单独的函数文件(M文件)即可进行定义.可以在命令窗口中, 脚本文件中或用户定义的函数中定义匿名函数. 通过键入以下命令来生成匿名函数: 其中f ...

  7. matlab里面的vpa函数,matlab用vpa函数之后怎么科学计数法

    MATLAB算π出错我输入vpa(pi,300) .结果是:ans =3.14159265358979311599796 vpa(pi,300)这样就可以了ans=3.1415926535897932 ...

  8. matlab 跳转到函数,matlab中fmincon函数如何调用??

    函数  fmincon 格式  x = fmincon(fun,x0,A,b) x = fmincon(fun,x0,A,b,Aeq,beq) x = fmincon(fun,x0,A,b,Aeq,b ...

  9. matlab 自带pca函数,matlab实现主成分分析 princomp函数 PCA中有这个函数

    matlab实现主成分分析 princomp函数 最近看了些主成分分析,混迹Matlab论坛,翻了n多帖子,对princomp函数有了些了解. 在此只讲一些个人理解,并没有用术语,只求通俗. 贡献率: ...

最新文章

  1. dev treeview控件_在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件
  2. [总结篇4] l2-agent的细节
  3. Java 第一个Java程序
  4. 自媒体运营要知道的哪些知识
  5. Ubuntu 下安装LEMP环境 实战
  6. eclipse 中 Android sdk 无法更新的问题
  7. jQuery零基础入门——(三)层级选择器
  8. mysql下载的解压包怎么用_教你安装Mysql(解压版/非安装包)图文教程
  9. http://snaps.php.net,科技常识:Windows下编译PHP和memcache扩展教程
  10. 凤凰刷机找不到手机设备的解决方法
  11. 算法高级(22)-BCrypt加密算法,号称目前最安全的算法之一
  12. java字体设置框_CSS样式更改——字体设置Font边框Border
  13. php ctf题,CTF---PHP安全考题
  14. 超详细——python把中文汉字转成拼音xpinyin,pypinyin,snownlp三种方法
  15. 生信漫谈如何绘制蛋白序列的二级结构可视化图
  16. js和python前景比较好_Python,Java和JavaScript这3个编程语言未来哪个更有前景?
  17. 云测 Testing 兼职众测平台题目及答案
  18. 笔记:MySQL中的DDL、DML、DQL、约束等知识以及Navicat的安装教程
  19. 蓝桥杯-填空题Ctrl+F
  20. overleaf 插入图片_Overleaf手册(三)--图片

热门文章

  1. python图像识别分类_图像分类python
  2. 2020年河北专接本计算机院校排名,2021年河北专接本最全院校排名(最新版)
  3. 用html制作一个华为页面,Web前端项目实战——华为荣耀商城(学完html+css就可以做)...
  4. YaliEditor的主题风格的制作流程
  5. ctags常用命令(个人整理)
  6. 判断时间范围是否重叠(原理)
  7. 大数据工程师历年企业笔试真题汇总
  8. 斩·赤红之瞳动漫网页 html源码 期末大作业 课程设计
  9. 注重基础知识的重要性
  10. python逻辑回归_逻辑回归:使用Python的简化方法