首页 > 解决方案 > 如何将图片的图像设置为左侧有白色边框?

问题描述

如何将图片的图像设置为左侧有白色边框?

b = imread('peppers.png');
b = im2double(b)
b(:,1:100) = 255;
imshow(b);

给了我像没有 100% 不透明度的红色边框,我如何变白?

标签: matlab

解决方案


根据您的问题,从“peppers.png”加载的图像似乎是彩色图像。

您可以通过键入检查

size(b)

进入命令行。如果它是灰度图像,那么大小可能类似于

ans =

    200    100

假设您的图像尺寸为 200 x 100。但是,如果它是彩色图像,我怀疑,那么大小将类似于

ans =

    200    100     3

第三个维度包含三个颜色通道(红色、绿色和蓝色)。

当你执行

b(:, 1:100) = 255;

您尚未指定要为哪个颜色通道编制索引,因此 MATLAB 隐式假定您正在编制第一个通道的索引,即红色通道。所以你实际上是在这样做:

b(:, 1:100, 1) = 255;

但是您不想只将红色通道设置为 255。要获得白色边框,您需要红色、绿色和蓝色通道都为 255。因此,您应该如何获得白色边框:

b(:, 1:100, :) = 255;

这样,当您分配 255 的值时,您将在所有三个颜色通道中进行索引,而不仅仅是红色通道。


推荐阅读