【种子计数】基于matlab的玉米种子计数GUI界面【源码56期】

一、简介

基于matlab的玉米种子计数GUI界面,玉米种子计数是农业生产中一项重要的任务,它对于评估玉米产量、优化种植策略以及指导农业生产具有重要意义。随着计算机视觉和图像处理技术的发展,利用Matlab等数学软件进行玉米种子计数已经成为一种高效、准确的方法。

二、部分源码

function pushbutton1_Callback(hObject, eventdata, handles)
global I   %定义一个全局变量im
[filename,pathname]=...
    uigetfile({'*.*';'*.bmp';'*.tif';'*.png'},'select picture');  %选择图片路径
str=[pathname filename];  %合成路径+文件名
I=imread(str);   %读取图片
axes(handles.axes1);  %使用第一个axes
imshow(I); 

% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

close(gcf);

% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

tic

global I
axes(handles.axes1)
imshow(I);%原图

Ig = rgb2gray(I);
axes(handles.axes2)
imshow(Ig);%灰度图

Im=medfilt2(Ig,[3,3]);%取得图象的全局域值
axes(handles.axes3)
imshow(Im);   %滤波图像

level = graythresh(Im);  %获取图像二值化的阈值
bw = im2bw(Im,level);    %二值化处理
axes(handles.axes4)
imshow(bw);

It=~bw;
SE = strel('disk',2);
A=imerode(It,SE);
axes(handles.axes5)
imshow(A);%腐蚀图像

SE1=strel('diamond',5);
A1=imdilate(A,SE1);
axes(handles.axes6)
imshow(A1);%膨胀图像
A2=A1;
axes(handles.axes7)
imshow(A1);%标记图像

三、运行结果

四、matlab版本

MATLAB R2019a

五、学习与交流

文中不足之处请大家多多指教,学习与交流可以联系企鹅:3752243968
文中部分源码仅供参考,若需要全部代码可以私信

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值