MATLAB 实现将彩色图像的R、G、B三个分量以彩色的形式显示

效果如下:

代码如下:

f=imread('Fig1234.tif');
R=f(:,:,1); %获取红色分量
G=f(:,:,2); %获取绿色分量
B=f(:,:,3); %获取蓝色分量

f1=f; %红色通道图片
f1(:,:,1)=R;
f1(:,:,2)=0;
f1(:,:,3)=0;

f2=f; %绿色通道图片
f2(:,:,1)=0;
f2(:,:,2)=G;
f2(:,:,3)=0;

f3=f; %蓝色通道图片
f3(:,:,1)=0;
f3(:,:,2)=0;
f3(:,:,3)=B;

subplot(2,2,1);imshow(f);title('原图像');
subplot(2,2,2);imshow(f1);title('红色');
subplot(2,2,3);imshow(f2);title('绿色');
subplot(2,2,4);imshow(f3);title('蓝色');

分析如下:
查看彩色图片大小的时候会发现图片的大小为1040×1040×3,3就是R、G、B通道。查看f变量的值会发现val(:,:,1)这种表述,代表的就是红色通道中1040行和1040列中的所有像素点。由此我们就可以分别得到三个分量的图片。

顺带说一下subplot()函数,subplot(2,2,1)表示两行两列中的第一个元素,其他位置同理。

  • 16
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个MATLAB程序,可以实现这个任务: ```matlab % 读取 RGB 彩色图像 rgb = imread('example.jpg'); % 显示像 subplot(2, 2, 1); imshow(rgb); title('Original Image'); % 分离 R、G、B 三个分量 r = rgb(:,:,1); g = rgb(:,:,2); b = rgb(:,:,3); % 显示 R、G、B 三个分量像 subplot(2, 2, 2); imshow(r); title('Red Component'); subplot(2, 2, 3); imshow(g); title('Green Component'); subplot(2, 2, 4); imshow(b); title('Blue Component'); % 对 R、G、B 三个分量进行 DCT 变换并压缩 r_dct = dct2(r); g_dct = dct2(g); b_dct = dct2(b); r_dct(31:end,:) = 0; r_dct(:,31:end) = 0; g_dct(31:end,:) = 0; g_dct(:,31:end) = 0; b_dct(31:end,:) = 0; b_dct(:,31:end) = 0; % 恢复压缩后的 R、G、B 三个分量并合并为 RGB 彩色图像 r_compressed = idct2(r_dct); g_compressed = idct2(g_dct); b_compressed = idct2(b_dct); compressed_rgb = cat(3, r_compressed, g_compressed, b_compressed); % 显示压缩后的 RGB 彩色图像 figure; subplot(1, 2, 1); imshow(rgb); title('Original Image'); subplot(1, 2, 2); imshow(compressed_rgb); title('Compressed Image'); ``` 这个程序的第一部分读取了一个 RGB 彩色图像,并显示出原像。然后,它分离出了 R、G、B 三个分量,并分别显示出来。接着,程序对 R、G、B 三个分量分别进行了 DCT 变换,并压缩了高频系数,只保留了前 30 行和前 30 列的系数。接着,程序对压缩后的 R、G、B 三个分量进行了 IDCT 变换,恢复了像,并将三个分量合并为一个 RGB 彩色图像。最后,程序显示了原像和压缩后的像,以便比较它们的差异。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值