matlab如何扩展图像,matlab扩展彩色图像程序问题

下面是扩展一副彩色图像为原图像的4倍,灰度的很容易实现,直接换彩色的就不行,左上角是三幅同原图像大小相同的灰度图像,本该是一副和原图像相同的彩色图像。后来分解RGB,单幅图像扩展后在合成彩色的,单幅没问题,合成的左上角显示纯白,大家帮忙分析下啥原因。

A=imread('LenaRGB.bmp');%读入原始图像

subplot(3,3,1);

imshow(A):title('原始图像');%子窗口显示原始图像

R=A(:,:,1);

G=A(:,:,2);

B=A(:,:,3);%RGB分解

subplot(3,3,2);

imshow(R):title('R分量');

subplot(3,3,3);

imshow(G):title('G分量');

subplot(3,3,4);

imshow(B):title('B分量');

S(:,:,1)=R;

S(:,:,2)=G;

S(:,:,3)=B;

subplot(3,3,5);

imshow(S);title('合成后图像');

%--------扩展R为原始图像的4倍,M*N部分和原始图像相同,其他填充0--------%

[M,N]=size(R);%计算图像大小

K=double(R);

Q=2*M;

P=2*N;

for i=1:Q

for j=1:P

if(i<=M)&&(j<=N)

C(i,j)=K(i,j);

else

C(i,j)=0;

end

end

end

subplot(3,3,6);

C=uint8(C);

imshow(C,[]):title('R扩展后图像');

%--------扩展G为原始图像的4倍,M1*N1部分和原始图像相同,其他填充0--------%

[M1,N1]=size(G);%计算图像大小

L=double(G);

Q1=2*M1;

P1=2*N1;

for i=1:Q1

for j=1:P1

if(i<=M1)&&(j<=N1)

D(i,j)=L(i,j);

else

D(i,j)=0;

end

end

end

subplot(3,3,7);

D=uint8(D);

imshow(D,[]):title('G扩展后图像');

%--------扩展B为原始图像的4倍,M2*N2部分和原始图像相同,其他填充0--------%

[M2,N2]=size(B);%计算图像大小

T=double(B);

Q2=2*M2;

P2=2*N2;

for i=1:Q2

for j=1:P2

if(i<=M2)&&(j<=N2)

E(i,j)=T(i,j);

else

E(i,j)=0;

end

end

end

subplot(3,3,8);

E=uint8(E);

imshow(E,[]):title('B扩展后图像');

F(:,:,1)=C;

F(:,:,2)=D;

F(:,:,3)=E;

subplot(3,3,9);

imshow(F,[]);title('扩展后合成图像')

[本帖最后由 mooni 于 2009-3-28 14:26 编辑]

expansionRGB2.jpg

(31.56 KB, 下载次数: 0)

2009-3-28 13:11 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

运行结果图

f85a68621f9c609de567e02a67604fb2.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值