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

 

posted on 2018-03-15 09:08  MY TIME  阅读(20244)  评论(0)    收藏  举报

导航