网站页面一般以多大标准做合适,宝塔面板建设二级域名网站访问不了,网站广告怎么赚钱,福州+网站建设+医疗针对目前谷物人工计数和光电计数方法存在的不足 , 提出了一种基于 Matlab 图像识别和处理技术的谷物计数方法 , 并用实例验证了其可靠性。该方法减轻了操作者劳动强度 , 弥补了人视觉的不足之处 , 提高了效率及准确率 , 为今后进一步研究奠定了必要的理论与实践基础 , 对完善“…针对目前谷物人工计数和光电计数方法存在的不足 , 提出了一种基于 Matlab 图像识别和处理技术的谷物计数方法 , 并用实例验证了其可靠性。该方法减轻了操作者劳动强度 , 弥补了人视觉的不足之处 , 提高了效率及准确率 , 为今后进一步研究奠定了必要的理论与实践基础 , 对完善“精细农业 ”具有重要意义 。 1.图像的灰度化处理
通过双循环对图像进行灰度化处理。通过对彩色通道的加权求和将彩色图像转换为灰度图像
2.去除噪声处理
通过均值滤波去除图像中的噪声提高后续处理的准确性
3.裁剪中心区域和直方图分析
对图像进行裁剪选择中心区域然后显示该区域和其直方图
4.二值化
通过迭代法确定一个阈值实现图像的二值化处理
5.谷物颗粒计数的实现
通过连通性分析计算谷物颗粒的数量
二值化后的图像像素只有 0 和 1 两个值 ,分别表示背景和目标。由于一个谷物颗粒的图像像素是连续的 ,在二值图像中表现为连通性 , 因此可以利用计算连通图的数量来求出谷物颗粒数量。在 M atlab 中利用 bw label函数求出连通图 ,并给出连通图的数量。
源代码
clear
clc
Imgimread(1.jpg);%读彩色图像
figure
imshow(Img);title(原图像)%显示原始图像[n m a]size(Img);%判断图像的大小
Img_Grayzeros(n,m);
for x1:n%通过双循环对图像进行灰度化处理for y1:mImg_Gray(x,y)0.3*Img(x,y,1)0.59*Img(x,y,2)0.11*Img(x,y,3);%实现灰度化end
end
Jfilter2(fspecial(average,3),uint8(Img_Gray))/255; %去除噪声
figure
imshow(J);title(去除噪声的图像) %显示去除噪声图像[e1,e2]size(J);
Imimcrop(J,[e2/2-200,e1/2-200,400,400]);figure
imhist(Im)
title(中心区域直方图);
[xa,ya]size(Im);
bdouble(Im);
zddouble(max(Im)) ;
zxdouble(min(Im)) ;
Tdouble((zdzx))/2;
countdouble(0);
while 1countcount1;S00.0; n00.0;S10.0; n10.0;for i1:xafor j1:yaif double(Im(i,j))TS1S1double(Im(i,j));n1n11;elseS0S0double(Im(i,j));n0n01;endendendT0S0/n0;T1S1/n1;if abs(T-((T0T1)/2))0.1break;elseT(T0T1)/2;end
end
Kfind(JT);
J(K)0;
Kfind(JT);
J(K)255;
figure
imshow(J),title( 图像二值化 );%显示二值化图像
[I,n]bwlabel(J,4);%通过连通性计算谷物的颗粒数
disp([数量 num2str(n)]) 最后
如果你想要进一步了解更多的相关知识可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesignergui设计、simulink仿真......希望能帮到你