我有大量的图像,我正在使用MATLAB 20143a计算它们的MSER区域。并尝试将它们保存在图像上(基本上是计算的MSER区域的可视化)。我这样做如下(一段代码!!):
for i =1 : length(files)
img = imread(files{i});
regions = detectMSERRegions(img);
figure('Visible','Off');
imshow(img,[]);
hold on;
plot(regions);
saveas(gcf,fullfile(save_path,files{i}));
end
虽然这可以完成我的工作,但我已经看到它需要花费很多时间(我认为这是不合理的。是否有更好的(据说是一种更快的机制来保存这些图?)我有很多这样的文件和分辨率为576乘720,对于MATLAB来说似乎不是一个太大的分辨率。
答案 0 :(得分:0)
您可以尝试使用GETFRAME和IMWRITE代替SAVEAS
regions = detectMSERFeatures(image);
figure('Visible','Off');
imshow(image,[]);
hold on;
plot(image);
F = getframe(gca); % Not the GCF
imwrite(F.cdata, 'image.jpg');
它应该更快