在 MATLAB 中将彩色图像的背景更改为灰度图像
matlabdata analysisprogramming
我们可以通过将 RGB 值设置为 128 来获得灰度颜色。这意味着所有颜色通道将具有相同的强度值。
以下 MATLAB 程序说明了将彩色图像的背景更改为灰度图像的代码。
示例
%MATLAB 程序演示将彩色背景更改为灰度图像 % 读取输入的彩色图像 img1 = imread('https://www.tutorialspoint.com/assets/questions/media/14304-1687425236.jpg'); % 显示输入的彩色图像 subplot(1, 2, 1); imshow(img1); title('Original Image'); % 创建背景的二进制蒙版 BGMask = img1(:, :, 1) == img1(1, 1, 1) & ... img1(:, :, 2) == img1(1, 1, 2) & ... img1(:, :, 3) == img1(1, 1, 3); % 将彩色图像中的背景像素设为黑色 img2 = img1; img2(repmat(BGMask, [1, 1, 3])) = 0; % 显示黑色背景图像 subplot(1, 2, 2); imshow(img2); title('黑色背景图像');
输出
注意 - 使用具有纯色背景的图像来获得所需的结果。
结论
在上面的 MATLAB 程序中,我们使用"imread"函数读取输入的彩色图像,并使用"imshow"函数显示原始图像。然后,我们创建图像背景的二元掩码,在这种情况下,我们假设背景是纯色,并从图像的左上角获取样本背景。之后,我们通过将 RGB 值设置为 128 将彩色图像中的背景像素设置为灰度。最后,我们使用"imshow"函数显示具有灰度背景"img2"的图像。