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
请发表评论