数字图像处理及MATLAB实现实验二——数字图像处理基础

图像处理实验
本文通过MATLAB实现像素连通性分析,对图像进行不同倍数的减采样,并将原始图像转换为不同灰度级别的图像,展示了图像处理的基本操作。

1.像素的4连通和8连通 

bw=[1 0 0 1 0;
    1 0 1 0 1;
    0 0 1 0 1;
    1 0 0 0 1]
X8=bwlabel(bw,8)
X4=bwlabel(bw,4)

 

 

2.对lena图像分别进行4倍和6倍采样,查看其减采样效果

a=imread('lena.jpg');
b=rgb2gray(a);
[wid,hei]=size(b);
%4倍减采样
quartimg=zeros(wid/2+1,hei/2+1);
i1=1;
j1=1;
for i=1:2:wid
    for j=1:2:hei
        quartimg(i1,j1)=b(i,j);
        
        j1=j1+1;
    end;
    i1=i1+1;
    j1=1;
end
figure
imshow(uint8(quartimg))

%16倍减采样
quartimg=zeros(wid/4+1,hei/4+1);
i1=1;
j1=1;
for i=1:4:wid
    for j=1:4:hei
        quartimg(i1,j1)=b(i,j);
        
        j1=j1+1;
    end;
    i1=i1+1;
    j1=1;
end
figure
imshow(uint8(quartimg))

 

3.将原图像转化为256级灰度图像,64级灰度图像,32级灰度图像,8级灰度图像和2级灰度图像

a=imread('flower.jpg');
figure;
imshow(a);
b=rgb2gray(a);
figure;
imshow(b);
[wid,hei]=size(b);
img64=zeros(wid,hei);
img32=zeros(wid,hei);
img8=zeros(wid,hei);
img2=zeros(wid,hei);

for i=1:wid
    for j=1:hei
        img64(i,j)=floor(b(i,j)/4);
    end
end
figure
imshow(uint8(img64),[0,63])

for i=1:wid
    for j=1:hei
        img32(i,j)=floor(b(i,j)/8);
    end
end
figure
imshow(uint8(img32),[0,31])

for i=1:wid
    for j=1:hei
        img8(i,j)=floor(b(i,j)/32);
    end
end
figure
imshow(uint8(img64),[0,7])
for i=1:wid
    for j=1:hei
        img2(i,j)=floor(b(i,j)/128);
    end
end
figure
imshow(uint8(img64),[0,2])

 

 

转载于:https://www.cnblogs.com/zhying99/p/10612820.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值