java中的接口是类吗
254
2022-09-05
【图像计数】基于计算机视觉实现蚊香片计数含Matlab源码
1 简介
基于计算机视觉实现蚊香片计数
2 部分代码
clc;%清除命令窗口中的内容close all;%关闭所有的figure窗口clear all;%清楚工作空间所有的变量、函数等I=imread ('C:\Users\lenovo\Desktop\新建文件夹\1.png');%读取蚊香图片subplot(331);%设置图片显示样式,三行三列,显示位置为第一张imshow (I) ;%显示原图title('原图');%命名为“原图”I = imnoise(I,'speckle',0.8);%加入斑点噪声,模拟现实噪音干扰情况subplot(332);%显示位置为第二张imshow(I);%显示加噪后的图片title('加噪');%命名为“加噪”R=I(:,:,1);G=I(:,:,2);B=I(:,:,3);%将加噪后的彩色图片的R,G,B三分量数据分别存储到矩阵R,G,B中R= wiener2(R,[15,15]);%对R分量矩阵进行维纳滤波G= wiener2(G,[10,10]);%对G分量矩阵进行维纳滤波B= wiener2(B,[5,5]);%对B分量矩阵进行维纳滤波I(:,:,1)=R;I(:,:,2)=G;I(:,:,3)=B;%将滤波后的R,G,B分量再还原给图片,I为滤波处理后的彩色图片subplot(333);%显示位置为第三个imshow(I);%显示滤波后的图片title('维纳滤波后');%命名为“维纳滤波后”title('膨胀去噪声(边界)');%命名为“膨胀去噪声(边界)”I3=imerode(I2,SE);%使用imrode函数进行腐蚀操作,第一个参数是二值图像,第二个参数是掩膜,腐蚀操作是对白色部分,这一步填充了蚊香中的空隙subplot(337);%显示位置为第7个imshow(I3);%显示腐蚀后的图像title('腐蚀填充空隙');SE1=[1 1 1 1;1 1 1 1;1 1 1 1;1 1 1 1];%定义mask,为4x4矩阵I4=imdilate(I3,SE1);%此时进行腐蚀操作,是为了消除蚊香片之间的连接部分,使其独立出来I4=~I4;%取反,为了使用bwlabel函数进行计数subplot(338);imshow(I4);title('取反');[L,amount]=bwlabel(I4,8);%bwlabel对二值化中的白色区域进行计数fprintf('该图片共有%d个电蚊香!',amount);
3 仿真结果
4 参考文献
[1]侯一民, 孟微, 孙小丽,等. 基于计算机视觉的实时目标计数系统[J]. 计算机应用, 2010(12):4.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~