matlab 任意轮廓外接矩形代码及其实现;
clc;clear;close all;
I=imread('00121.bmp');
I=rgb2gray(I);
subplot(3,3,1);imshow(I);
% M=im2double(I);%将unit8转成double型
subplot(3,3,2),imhist(I);
M1=im2bw(I,25/255);%二值图level取值0~1.
subplot(3,3,3);imshow(M1);
BW1=1-M1;%取反操作
subplot(3,3,4);imshow(BW1);
BW2=bwareaopen(BW1,100000,4);%形态学操作,删除二值图像BW中面积小于10000的对象,4邻域
subplot(3,3,5);imshow(BW2);
BW3=1-BW2;
subplot(3,3,6);imshow(BW3);
BW=bwareaopen(BW3,90000);%形态学操作,删除二值图像BW中面积小于10000的对象,8邻域
subplot(3,3,7);imshow(BW);xlabel('除去背景后的完整二值图');
se=strel('disk',4);
% se1=strel('disk',4);
J=imerode(BW,se);
% J1=imerode(BW,se1);
J=BW-J;
subplot(3,3,8);imshow(J);xlabel('4直径');
% subplot(3,3,8);imshow(
I=imread('00121.bmp');
I=rgb2gray(I);
subplot(3,3,1);imshow(I);
% M=im2double(I);%将unit8转成double型
subplot(3,3,2),imhist(I);
M1=im2bw(I,25/255);%二值图level取值0~1.
subplot(3,3,3);imshow(M1);
BW1=1-M1;%取反操作
subplot(3,3,4);imshow(BW1);
BW2=bwareaopen(BW1,100000,4);%形态学操作,删除二值图像BW中面积小于10000的对象,4邻域
subplot(3,3,5);imshow(BW2);
BW3=1-BW2;
subplot(3,3,6);imshow(BW3);
BW=bwareaopen(BW3,90000);%形态学操作,删除二值图像BW中面积小于10000的对象,8邻域
subplot(3,3,7);imshow(BW);xlabel('除去背景后的完整二值图');
se=strel('disk',4);
% se1=strel('disk',4);
J=imerode(BW,se);
% J1=imerode(BW,se1);
J=BW-J;
subplot(3,3,8);imshow(J);xlabel('4直径');
% subplot(3,3,8);imshow(