添加后,如何使用MATLAB恢复原始图像


      A = imread('ab.jpg');
      A = imresize(A,[255 255]); subplot(2,2,1), imshow(A);
      B = imread('cd.jpg');
      B = imresize(B,[255 255]);subplot(2,2,2), imshow(B);
      C = imadd(A,B);subplot(2,2,3),imshow(C); 

这是我用来添加两个图像的程序,而且工作正常。现在,我想拿回两个图像。在不以参考为参考的情况下(即从总和中减去图像a以获取图像b)的情况下,无法弄清楚如何将其恢复。任何人都可以帮忙吗?

让我们不要担心图像。说我有两个真正的整数xy。我添加它们以获取z = x+y。现在,如果我告诉某人整数z有什么办法让他或她恢复x和/或y

有可能通过拥有另一个来检索总和之一。但是您面临的问题是,您的图像矩阵不能超过值255,因为MATLAB默认使用uint8类型。这是图像A和B中的两个相应像素的示例:

% A(1,1) == 130 is ture
% B(1,1) == 180 is ture
C(1,1) = A(1,1) + B(1,1); %C(1,1) == 310 is false! c(1,1) == 255 is true
expectedB = C(1,1) - A(1,1); % expectedB == 180 is false! expectedB == 125 is true

您可以将矩阵的类型投放到int16。而这样做MATLAB的功能SICH作为imshow,但您无法按照您的要求工作。因为他们假设您的

最新更新