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

📄 xuanzhuan.m

📁 通过matlab彩色图像转换成灰度图像
💻 M
字号:
a=imread('d:/1.jpg');
a=rgb2gray(a);

a=double(a);
sizea=size(a);
m=sizea(1,1);%得到行数
n=sizea(1,2);%得到列数
b=a;

angle=input('degree: ');
angle=angle*pi/180;%弧度化

i=zeros(m,n);
j=i;
for p=1:m
    i(p,:)=p;
end
for p=1:n
    j(:,p)=p;
end%i是行坐标,j是列坐标
it=i*cos(angle)-j*sin(angle);
jt=i*sin(angle)+j*cos(angle);%旋转公式
it=round(it);
jt=round(jt);%取整
imin=min(min(it));
jmin=min(min(jt));
if (imin<=0) it=it+(-imin+1); end
if (jmin<=0) jt=jt+(-jmin+1); end%画布扩大,因为坐标只能是正整数
imax=max(max(it));
jmax=max(max(jt));
%b=ones(imax,jmax);
for p=1:imax
    for q=1:jmax
        b(p,q)=255;%将新矩阵全填充为255
    end
end
for p=1:m
    for q=1:n
        b(it(p,q),jt(p,q))=a(p,q);%变换到新图像
    end
end

for p=2:(imax-1)
    for q=2:(jmax-1)
       if( b(p,q)==255 ) b(p,q)=round((double(b(p-1,q))+b(p+1,q)+b(p,q+1)+b(p,q-1))/4); end
   end
end

a=uint8(a);
b=uint8(b);
subplot(1,2,1);imshow(a);title('原图像');
subplot(1,2,2);imshow(b);title('处理后图像');




⌨️ 快捷键说明

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