如何将我用imcrop裁剪的图像变为变量?

时间:2015-05-05 11:14:20

标签: matlab image-processing

我试过这个但是失败了;

Face = imcrop(I, bboxes(1,:));
TestImage = imread(Face);

这是错误。

  

使用imread> parse_inputs时出错(第457行)。文件名或网址   参数必须是一个字符串。

我可以使用其他任何功能或方法吗?

2 个答案:

答案 0 :(得分:3)

为了读取图像,它应该作为图像文件存在。为此,首先,您应该使用imwrite将图像矩阵保存到图像文件中,然后使用imread

试试这个:

Face = imcrop(I, bboxes(1,:));      %// Your code
imwrite(Face,'Face.jpg');           %// saving in default path
TestImage = imread('Face.jpg');     %// reading with same filename & default path

另请注意,这样做毫无意义,因为FaceTestImage都具有相同的值。你应该避免这样做。

答案 1 :(得分:1)

您要做的事情没有任何意义,因为您已经将图像读入Face变量,而您无需再次阅读。但是,您可以使用imwrite将其复制到另一个变量或将其写为图像。

Face = imread('circuit.tif');            % read the file into the face variable
croppedFace = imcrop(I,[75 68 130 112]); % crop the image and save it in a new variable