matlab使用遮罩
时间: 2023-11-13 17:54:23 浏览: 202
在MATLAB中,可以使用遮罩(mask)来选择数组中的特定元素。遮罩是一个逻辑数组,其大小与要选择的数组相同。逻辑数组中的每个元素都对应于要选择的数组中的一个元素。如果逻辑数组中的元素为true,则选择相应的数组元素;如果逻辑数组中的元素为false,则不选择相应的数组元素。
例如,假设有一个大小为3x3的矩阵A:
```
A = [1 2 3; 4 5 6; 7 8 9];
```
要选择矩阵A中所有大于4的元素,可以创建一个逻辑数组B:
```
B = A > 4;
```
逻辑数组B的值为:
```
B = [0 0 0; 0 1 1; 1 1 1];
```
然后,可以使用逻辑数组B来选择矩阵A中大于4的元素:
```
C = A(B);
```
选择后的结果为:
```
C = [5 6 7 8 9];
```
相关问题
MATLAB实现图像圆形遮罩
很高兴回答你的问题。对于实现图像圆形遮罩这个问题,我可以给出以下 MATLAB 代码:
读入图像:
```matlab
I = imread('your_image.png');
```
获取图像宽和高:
```matlab
[h, w, ~] = size(I);
```
计算圆形半径:
```matlab
r = min([h, w]) / 2;
```
创建圆形蒙版:
```matlab
[xx, yy] = meshgrid(1:w, 1:h);
mask = ((xx-w/2).^2 + (yy-h/2).^2) <= r^2;
```
将图像与蒙版相乘,获取遮罩后的图像:
```matlab
J = bsxfun(@times, I, cast(mask, class(I)));
```
以上就是实现图像圆形遮罩的 MATLAB 代码,希望能对你有帮助。
阅读全文