⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colordrawout.m

📁 用matlab编程实现彩色图像的局部分割
💻 M
字号:
%%%用matlab编程实现彩色图像的局部分割
function A=colordrawout(pix,n)         %彩色图片轮廓线提取函数
figure;A=imread(pix,fmt);                    %读取指定彩色图片                
[k,j]=size(A(:,:,1));               % k,j分别为2D矩阵的行数和列数
e=['红色强度值矩阵';'绿色强度值矩阵';'蓝色强度值矩阵'];
nn=n*ones(k,j);                 %阈值矩阵
for i=1:3                         %依次从三个矩阵中提取轮廓线
H=double(A(:,:,i));                 %将选择的矩阵变为双精度矩阵
F=40*sin(pi/2*1/255*H);            %进行非线性变换
you=F(:,2:end); you(:,end+1)=0;       %右矩阵
xia=F(2:end,:);xia(end+1,:)=0;        %左矩阵
yx=F(2:end,2:end);yx(end+1,end+1)=0;  %右下矩阵
%判断图片中任一点以其周围的点的差与给出的阈值的关系
yy=abs(F-you)-nn;yy(find(yy>0))=255;yy(find(yy<=0))=0;
xx=abs(F-xia)-nn;xx(find(xx>0))=255;yy(find(xx<=0))=0;
yx2=abs(F-yx)-nn;yx2(find(yx2>0))=255;yx2(find(yx2<=0))=0;
T=xx+yy+yx2;%满足其中一个就为边界
subplot(3,3,i+6);  %将窗口分割为两行两列,下图显示于第i+1位置
%显示轮廓线 %图释 %保持图片显示比例
imshow(T); title(e(i,:)); axis image;
end;
subplot(3,3,2);                    %下图显示于第1位置
image(A);                        %显示原彩色图片
title('彩色图原图'); axis image; %图释%保持图片显示比例
r=A;g=A;b=A;r(:,:,2)=0;r(:,:,3)=0;g(:,:,1)=0;g(:,:,3)=0;b(:,:,1)=0;b(:,:,2)=0;
subplot(3,3,4);image(r);axis image; subplot(3,3,5);
image(g);axis image;subplot(3,3,6); image(b);axis image;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -