matlab进行图片的简单去除背景方法 - MY TIME

时间:2024-04-16 08:23:02

matlab进行图片的简单去除背景方法

1.选择要识别的图片

2.对图片进行二值化处理

3.对二值化图片进行腐蚀再膨胀(或者膨胀再腐蚀)

%初始化
clc;clear all;
%开始计时
tic
%输入需要识别的图像
[filename,pathname,fi]=uigetfile(...
                    {\'*.*\', \'all image file (*.*)\';...
                     \'*.bmp\',\'all image file (*.bmp)\';...
                     \'*.jpg\',\'all image file (*.jpg)\'},...
                     \'请选择要识别的图片\',...
                     \'MultiSelect\', \'on\');
in_image=imread([pathname filename]);
figure;imshow(in_image);title(\'原始图像\');%显示原始图像

 BW = im2bw(in_image(:,:,3),0.6);
 se = strel(\'disk\',4)
 figure;imshow(BW);title(\'去除背景\');
 %se=[0 0 0 0 0;0 0 0 0 0;0 0 1 0 0;0 0 0 0 0;0 0 0 0 0]
 BW = imdilate(BW,se);%imerode
 %   figure;imshow(BW);title(\'去除背景\');
 se1=strel(\'disk\',4);%这里是创建一个半径为4的平坦型圆盘结构元素
 BW=imerode(BW,se1);
 %figure;imshow(BW); 
 in_image(repmat(BW,[1,1,3])) = 0;
 figure;imshow(in_image);title(\'去除背景\');


 t=toc