本文用彩色因子分割算法可对自然场景下田间杂草彩色图像进行背景分割。

图像处理主要步骤:1.读入图像 2.图像灰度化 3.杂草二值图像提取4.杂草彩色图像提取

完整代码如下:

clear all;close all;clc;
I=imread('.\weeds.png');%输入当前目录下的杂草图像
imshow(I);
whos;
imtool(I);
x=[14 260]
y=[260 154]
improfile(I,x,y);
Ir=I(:,:,1);figure,imshow(Ir);
Ig=I(:,:,2);figure,imshow(Ir)
Ib=I(:,:,3);figure,imshow(Ir)
Igray=rgb2gray(I);
figure,imhist(Igray);
I2=2*Ig-Ir-Ib;%参考相关研究论文和其他文献资料提出的超绿特征 2g-r-b,效果并不太理想
figure,imhist(I2);
Obj1=im2bw(I2,graythresh(I2));%使用OSTU方法进行阈值分割
figure,imshow(Obj1);
Igb=Ig-Ib;%通过imtool工具进行图像分析
figure,imshow(Igb,[]);
Obj2=im2bw(Igb,graythresh(Igb));
figure,imshow(Obj2);
Obj2_weed=uint8(Obj2).*I;%点乘运算获取杂草彩色图像
figure,imshow(Obj2_weed);
figure('Name','杂草背景分割','NumberTitle','off');
subplot(2,2,1),imshow(I),title('原始图像');
subplot(2,2,2),imshow(Igb),title('灰度图像');
subplot(2,2,3),imshow(Obj2),title('二值图像');
subplot(2,2,4),imshow(Obj2_weed),title('杂草彩色图像');

原图如下所示:

5b0f4733e52783678f5b21511d12bbd0.png

图像处理效果如下图所:faa2ea9b91f90752dbec0cfafb3e905c.png

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐