MATLAB如何找出图片中的红色物体

2025-10-13 07:40:07

1、将命名为’girl.jpg‘的图像移动到MATLAB源程序所在文件夹。如图源程序命名为"dip1",存储文件夹为D:\用户目录\Documents\MATLAB,将需要处理的图片移动到该文件夹。

MATLAB如何找出图片中的红色物体

2、使用imread函数读入该图片,使用imshow函数显示读入的该图像。

代码:

clear;

rgb=imread('girl.jpg');

figure(1)

imshow(rgb);

MATLAB如何找出图片中的红色物体

MATLAB如何找出图片中的红色物体

3、右键电极目标图像。点击“属性”,再选择“详细信息”,观察图像的大小。本文选用的图像大小为640*960,宽640像素,高960像素。

MATLAB如何找出图片中的红色物体

4、容差设为100,定义R分量大于150,G与B分量小于100的像素点为观察到的红色像色。遍历图像所有像素,是不是红色的像色变成黑的像素(R=G=B=0).

代码:

for i=1:960

    for j=1:640

        if((rgb(i,j,1)>150&rgb(i,j,2)<100&rgb(i,j,3)<100)==0)

            rgb(i,j,1)=0;

            rgb(i,j,2)=0;

            rgb(i,j,3)=0;

        end

    end

end

figure(2)

imshow(rgb);

说明

RGB图像可以表示为矩阵(X,Y,N)。X,Y分别为长和宽。N=1,2,3。N=1表示图像的R分量矩阵,2为G分量矩阵,3为B分量矩阵。

MATLAB如何找出图片中的红色物体

MATLAB如何找出图片中的红色物体

5、图像还是有许多噪声的,可采用数学形态学的方法除去噪声。用strel函数生成模版:

SE=strel('rectangle',[3 3]);该模版表示3*3的长方形模版。

MATLAB如何找出图片中的红色物体

6、开运算处理,可去除非常小或窄的像素。这里是用MATLAB内置函数先进行腐蚀再进行膨胀,完成开运算。

代码:

I2=imerode(rgb,SE);%腐蚀

figure(3);

I3=imdilate(I2,SE);%膨胀

imshow(I3);

MATLAB如何找出图片中的红色物体

MATLAB如何找出图片中的红色物体

7、这里提供整个程序的代码:

clear;

rgb=imread('girl.jpg');

figure(1)

imshow(rgb);

for i=1:960

    for j=1:640

        if((rgb(i,j,1)>150&rgb(i,j,2)<100&rgb(i,j,3)<100)==0)

            rgb(i,j,1)=0;

            rgb(i,j,2)=0;

            rgb(i,j,3)=0;

        end

    end

end

figure(2)

imshow(rgb);

SE=strel('rectangle',[3 3]);

I2=imerode(rgb,SE);

figure(3);

I3=imdilate(I2,SE);

imshow(I3);

MATLAB如何找出图片中的红色物体

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢