📜  Matlab中的图像补全

📅  最后修改于: 2021-04-17 03:52:30             🧑  作者: Mango

先决条件: RGB图像表示
MATLAB将大多数图像存储为二维矩阵,其中矩阵的每个元素对应于显示图像中的单个离散像素。一些图像,例如真彩色图像,使用三维阵列表示图像。在真彩色图像中,第三维的第一个平面表示红色像素强度,第二个平面表示绿色像素强度,第三个平面表示蓝色像素强度。

图像补全:
在二进制图像的补码中,零变为1,而1变为零。黑白颠倒。
在灰度或彩色图像的补充中,从该类支持的最大像素值中减去每个像素值(对于双精度图像,则为1.0)。该差用作输出图像中的像素值。在输出图像中,黑暗区域变亮,明亮区域变暗。对于彩色图像,红色变为青色,绿色变为品红色,蓝色变为黄色,反之亦然。

方法:

  • 使用imread函数读取图像。
  • 使用不互补函数对图像进行互补。
  • 使用imshow显示图像。

下面是实现:

% Read the binaryImage
i=imread('cameraman.png');
% Display the image
imshow(i);
% Complement the image using function
i=imcomplement(i);
% Display the complemented image
figure, imshow(i);
% Read the colored image
a=imread('flower.png');
% Display the image
figure, imshow(a);
% Complement the image using function
a=imcomplement(a);
% Display the complemented image
figure, imshow(a);

输出:

二进制图像

二进制图像的补充:
此处在二进制图像0中变为1,黑白反转。

彩色图像

彩色图像的补充:
所得图像的每个颜色通道是原始图像中相应颜色通道的补充。较暗的区域变亮。在原始图像中,叶子显示为绿色,花瓣显示为红色。在补片图像中,叶子呈洋红色。花瓣呈青色。