9

编辑:

Hii,不好意思前面没有提到,我需要做的是在同一个图中同时显示 6 个图像。此外,在每个图像(帧)上,我需要绘制一些点(我的代码跟踪脸部的移动 - 眼睛、鼻子、嘴唇。) 我有 246 张图像(帧)

这是我使用的主要功能:

   // The points/ coordinates of the lips, eyes and nose of the image "i".
Points = createPointsStructure (landmarks , i , NumOfLandarkPerFrame);
   // Draw landmarks and splines on the frame i (and draw/show the frame)
DrawAllPointsOnFace (pointArr , Points , img , 1  , position, i);

有什么想法我该怎么做?


我需要编写一个代码,在同一个图中(同时)显示 6 个图像。并让用户选择其中一个图像进行编辑(通过单击它)。

任何帮助我该怎么做?

提前致谢。

4

1 回答 1

14

这是一个简单的示例,可以帮助您入门:

function ImagesExample()
    %# read images in a cell array
    imgs = cell(6,1);
    for i=1:6
        imgs{i} = imread( sprintf('AT3_1m4_%02d.tif',i) );
    end

    %# show them in subplots
    figure(1)
    for i=1:6
        subplot(2,3,i);
        h = imshow(imgs{i}, 'InitialMag',100, 'Border','tight');
        title(num2str(i))
        set(h, 'ButtonDownFcn',{@callback,i})
    end

    %# mouse-click callback function
    function callback(o,e,idx)
        %# show selected image in a new figure
        figure(2), imshow(imgs{idx})
        title(num2str(idx))
    end
end

在此处输入图像描述

另一个需要研究的函数是 IPT 工具箱中的MONTAGE函数:

%# given the above cell array `imgs`
montage( cat(4,imgs{:}) )
于 2012-05-26T21:52:06.627 回答