用 matlab 对图像进行局部提取(三)

问题描述:
详见我的博文: https://blog.csdn.net/wuli_dear_wang/article/details/88370186

方法三:

代码如下:
clear,clc,close all;
a=imread('a.jpg');      %a是灰度图。(因为黑白图,其矩阵里元素的值都是0255)
b=imread('b.jpg');      %b是原图,也是三维的彩图
a1=im2bw(a);            %灰度图转为二值图(矩阵元素变为01)
a1=uint8(a1);           %由于二值图元素的类型都是 logical型(逻辑型),在进行运算处理时不符合要求,所以转为 uint8
                        %由于b是原图,有三个通道,分别为R通道、G通道、B通道。每一个通道对应一个二维矩阵
                        
R=b(:,:,1);             %分别提取三个通道(也就是三个二维矩阵)
G=b(:,:,2);
B=b(:,:,3);
R1=R.*a1;               %各个通道的矩阵乘以二值图,中心的蝴蝶矩阵数值不变,背景变为0
G1=G.*a1;
B1=B.*a1;
b1(:,:,1)=R1;           %三个通道叠加,组成一个三维的RGB图
b1(:,:,2)=G1;
b1(:,:,3)=B1;
subplot(331),imshow(a),title('灰度图'); 
subplot(332),imshow(b),title('彩色原图');
subplot(334),imshow(R1),title('R');
subplot(335),imshow(G1),title('G');
subplot(336),imshow(B1),title('B');
subplot(337),imshow(b1),title('提取后的图');

运行截图:

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值