小编RN9*_*N95的帖子

使用for循环对子图像进行子采样

我有一个关于对矩阵/图像进行二次采样的快速问题.我只是在使用for和/或while循环时尝试这样做.基本上问题是重申:

function output = subsample(img,2)

output = img(1:factor:end, 1:factor:end);
Run Code Online (Sandbox Code Playgroud)

但是,现在我试图重写函数来执行完全相同的过程但是使用for循环和/或while循环并且不使用两个或更多" :"(冒号)运算符而不使用冒号运算符访问矩阵/向量元素.这是我到目前为止:

function output = subsamplex(img,factor)

[r, c] = size(img);

output = zeros(r/factor,c/factor);

j = 1;

i = 1;

for x = 1:r;

    for y = 1:c;
        j = factor*j-1;
        i = factor*i-1;
        output(j,i) = img(x,y);
    end
end

end
Run Code Online (Sandbox Code Playgroud)

虽然我得到的是图像调整大小,它全是黑色的,我试图弄清楚我哪里出错或者我完全错了.任何正确方向的帮助将不胜感激.

matlab for-loop image image-processing matrix

0
推荐指数
1
解决办法
2013
查看次数

标签 统计

for-loop ×1

image ×1

image-processing ×1

matlab ×1

matrix ×1