二值图像不能直接与RGB图像进行运算,因为它们的维度不同。
所以要把二值图像转为和RGB一样的三通道。
(大意如此,上课记忆可能有点偏差,总之这是大方向)
此处以乘法为例。
pic = imread('CH3_peppers.png');
pic_bw = im2bw(pic,0.5);
pic_bw2RGB = [ ]; %创建数组的意思,这一行没有也不会报错
pic_bw2RGB(:,:,1)=pic_bw; %核心
pic_bw2RGB(:,:,2)=pic_bw; %核心
pic_bw2RGB(:,:,3)=pic_bw; %核心
pic_double = im2double(pic);
pic_multiply = immultiply(pic_double , pic_bw2RGB); %原图与其二值图像相乘
subplot(131),imshow(pic),title('1.原图(pic)');
subplot(132),imshow(pic_bw),title('2.二值图(b)');
subplot(133),imshow(pic_multiply),title('3.局部显示(c)');