放大“imfreehand”之前

时间:2015-03-30 04:06:51

标签: matlab image-processing zoom

我正在尝试使用imfreehand测量LAB颜色空间中图像的特定区域的值。

但是,我想测量一些相当小的部分;有没有办法可以在执行imfreehand之前放大图像?就像你在Matlab中放大图像来检查它一样?

问题示例:

enter image description here

我的想法:

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用input执行此操作。当命令行正在等待输入时,用户仍然可以随意修改数字(缩放,平移等)。

这是一个最小的例子:

% --- Load and display sample image
rgb = imread('pears.png');
imshow(rgb);

input('');

% [ Press any key when you are ready ]

imfreehand

你也可以使用这个技巧来做一个小命令行界面,这有时很方便。这是一个示例:

% --- Load and display sample image
rgb = imread('pears.png');
imshow(rgb);

% --- Main CLI loop
while true

    % Display
    clc
    fprintf('Please make a choice:\n');
    fprintf('\t[d] Draw freely\n');
    fprintf('\t[Other] Quit\n');

    c = input('?>', 's');
    switch (c)

        case 'd'
            imfreehand
            break;

        otherwise
            break;

    end
end

当然,您可以添加更多案例。这种界面通常非常方便,是开发GUI的廉价替代方案。

希望这有帮助,