5.数字图像处理及mtlab 实现-学习及实验指导 imsubtract函数

来源:互联网 发布:简单辅助软件多少钱 编辑:程序博客网 时间:2024/05/14 11:03
5.数字图像处理及mtlab 实现-学习及实验指导 imsubtract函数

问题一:

RGB=imread('Liutong.jpg');

 I=rgb2gray(RGB);
 I1=imread('cell.bmp');
 I2=imcrop(I1,[1 1 307 377]);
J=imadd(I,I2);
subplot(1,4,1),subimage(I);
subplot(1,4,2),subimage(J);
J1=imsubtract(J,I2);
subplot(1,4,3),subimage(J1);
C=J1-I;
count=0;
for i=1:378;
    for j=1:308;
        if C(i,j)~=0;
            count=count+1;
        end
    end
end

subplot(1,4,4),subimage(C);

文字描述:程序实现功能,J=I+I2,J1=J-I2,,J1和I表示的矩阵相等  但显示出的图像不同,为什么?程序运行结果如下:


问题解答:

uint最大值255  在I和I2相加的时候超过255的部分会变成255  所以J1=J-I2不等于I 所以显示的图片不同   

比如:I中一像素值大小220,I2一像素值大小46,220+46=266  会变成255    255-46=209  不等于220   

解决方法:I=double(rgb2gray(RGB));
 I1=double(imread('cell.bmp'));  转换成double类型计算。


问题二:

C=J1-I 矩阵值为零  按上述所说,J1和I显示图像不同,矩阵值不同,那相减问什么为零?

问题解答:

暂未解决。

0 0