我建立了一个名为N的1 * 5单元格,需要将图像(img)矩阵复制到其中的每个条目中,我该怎么办?这是我提出的但它不起作用….我试图避免循环,所以我的代码……
从我对你的问题的理解,并在循环部分与Cris Luengo达成一致,这就是我的建议。我认为,那 scale(1) = 1 或类似的东西,因为你初始化 N = (cell(length(scale) - 1, 1))' ,所以我想其中一个值 scale 并不重要。
scale(1) = 1
N = (cell(length(scale) - 1, 1))'
scale
function newImgs = imresizenew(img, scale) % Initialize cell array. newImgs = cell(numel(scale) - 1, 1); % Avoid copying of img and using cellfun by directly filling % newImgs with properly resized images. for k = 1:numel(newImgs) newImgs(k) = imresize(img, scale(k + 1)); end end
一个小的测试脚本:
% Input img = rand(600); scale = [1, 1.23, 1.04, 0.84, 0.5, 0.1]; % Call own function. newImgs = imresizenew(img, scale); % Output dimensions. for k = 1:numel(newImgs) size(newImgs{k}) end
输出:
ans = 738 738 ans = 624 624 ans = 504 504 ans = 300 300 ans = 60 60