matlab - 如何将图片的图像设置为左侧有白色边框?
问题描述
如何将图片的图像设置为左侧有白色边框?
b = imread('peppers.png');
b = im2double(b)
b(:,1:100) = 255;
imshow(b);
给了我像没有 100% 不透明度的红色边框,我如何变白?
解决方案
根据您的问题,从“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 的值时,您将在所有三个颜色通道中进行索引,而不仅仅是红色通道。
推荐阅读
- javascript - 数组映射后出现在html中的逗号
- python - 也可以用作独立函数的 Python 装饰器
- java - 如何在android中使用数组列表上传多个图像
- python - tic tac toe python-turtle 交替 x 和 o
- swift - SwiftUI ImagePicker videoMaxduration Alert hidden
- python-3.x - 从arduino读取串行数据:代码有效..重新运行错误
- mysql - 连接表 SQL PHP 中列的 SUM 不起作用
- python - 如何检查一个数字是否可以表示为 x 的 y 次幂?
- javascript - 访问范围内的模型 sequelize
- javascript - 在异步函数中单击时呈现用户姓名和姓氏的问题