我使用函数“fdetect”裁剪出检测到的面部,现在我试图将获得的2D图像重塑为一维图像矢量。我尝试了以下方法:
for k=1:length(files)
%read the images in the folder
imgs=imread(fullfile);
fdI=fdetect(imgs);
targetsize=[256 256];
img_resized=imresize(fdI,targetsize);
[irow icol]=size(img_resized',irow*icol,1);
T=[T temp] %1D image vector
end
但我得到错误:
函数IMRESIZE期望它的第一个输入A是非空的。
我检查了函数“fdetect”的输出及其nonmpyt,它给出了裁剪的面。 任何人都可以指出我的错误或任何其他方式这样做? 提前致谢。
答案 0 :(得分:2)
制作2D矢量1D的最简单方法就是使用冒号运算符:
img_resized(:) %// or fdI(:), not sure which you want to convert
但您也可以使用重塑功能:
reshape(img_resized, [], 1) %// Note that the second parameter specifies how many rows you want. You can be specific if you want, i.e. numel(img_resized), but by passing an empty vector, reshape calculates that dimension for you.