关于保存在图像上绘制的MSER区域

时间:2015-07-22 12:42:34

标签: matlab matlab-figure

我有大量的图像,我正在使用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来说似乎不是一个太大的分辨率。

1 个答案:

答案 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');

它应该更快