2018b版matlab用循环语句编写图像隔一个像素查一个值
时间: 2024-09-24 18:17:14 浏览: 48
在MATLAB R2018b版本中,你可以使用`for`循环结合数组索引来逐行或逐列地遍历图像,每隔一个像素获取一个值。假设你有一个二维数组`img`表示图像数据,我们可以这样做:
```matlab
% 假设img是图像数据,例如灰度图像
[row, col] = size(img); % 获取图像的行数和列数
% 如果你想每两个像素取一个值,可以设置步长stride为2
% 如果只读取偶数位置的像素(每隔一列),可以选择y步长为1,x步长为2
strided_img = img(:, 2:2:end, :);
% 使用for循环获取每个像素值
result = zeros(size(strided_img));
for i = 1:row
for j = 1:size(strided_img, 2) % 或者j = 1:size(strided_img, 3) if RGB图像是三维的
result(i, j) = img(i, 2*j - 1, j);
end
end
result; % 输出结果
```
在这个例子中,我们创建了一个新的变量`strided_img`,其中包含原始图像每隔一个像素的数据。然后,我们用嵌套的`for`循环遍历这个新数组,获取并保存每一个间隔的像素值。
阅读全文
相关推荐

















