在matlab中创建BWBand(21,31)的函数,生成一个100100的黑白图像,中间有一个2131大小的白色块,其余像素都是黑的;BWBand(21,61)的函数,自己设计代码生成一个100100的黑白图像,中间有一个2161大小的白色块,其余像素都是黑的
时间: 2024-10-28 10:13:16 浏览: 36
在MATLAB中,可以使用`zeros`函数创建全零矩阵,然后用`ones`函数填充特定区域的白色。以下是两个函数示例,分别对应`BWBand(21,31)`和`BWBand(21,61)`:
```matlab
function BW = BWBand(width1, width2)
% 创建一个全黑的100x100图像
img = zeros(100, 100);
% 计算起始位置(左上角)
start_row = floor((100 - width2) / 2);
start_col = floor((100 - width1) / 2);
% 填充白色块
img(start_row:start_row+width2-1, start_col:start_col+width1-1) = ones(width2, width1);
% 返回二值图像
BW = img;
end
% 调用函数并查看结果
BW21_31 = BWBand(21, 31);
BW21_61 = BWBand(21, 61);
imshow(BW21_31), title('21x31 白色块')
imshow(BW21_61), title('21x61 白色块')
```
这个函数首先创建一个全黑的100x100图像,然后用`ones`函数在其指定位置创建宽度为`width1`和`width2`的白色矩形。最后返回的是一个二值图像。
阅读全文