Matlab:(1)绘制多幅画布,(2)单独拍摄,(3)蒙太奇全部

时间:2014-12-07 22:48:06

标签: matlab plot

我有 10张灰度图像。我想分别在每个图像上绘制一条简单的黄色线条,然后在一个地块(蒙太奇风格)上显示它们。

我尝试首先绘制所有图像,但这使绘图线非常棘手(X,Y轴不是标准,用于绘制每个单独的图像)。

我想过在图像上刻录线条,但我没有计算机视觉工具包(这很容易做到这一点),否则将灰度转换为颜色并让它燃烧图像。

我以为我可以使用函数newplot为每个图像创建一个临时绘图空间,用简单的绘图(...)调用绘制直线,然后保存它只是{{1最后的所有个别情节。

这可能吗?我从未使用过函数montage(...)或试图遍历各个图表,通过这种方式保存它们以调用newplot,但这似乎是一种逻辑/简单的方法。

1 个答案:

答案 0 :(得分:0)

我最终使用subplotsubimageplot进行了解决,使用带有位置参数的子图可以轻松地完成我想要的操作。使用子图保持轴相对于我所在的子图,所以我可以使用标准fplot/plot调用绘制该线。诀窍是将位置标准化为百分比,而不是用像素来考虑它。

这里有一些代码演示它:

      % Loop through this code, each time moving the subplot by position
      LOOP {
        % calculate left & bottom position as percentages (0..1)
        subplot( 'Position', [ left bottom (1/cols) (1/rows) ] );
        hold on

        % (1) Draw the image
        subimage(tmpImg, [0 255]);
        axis off;

        % (2) Plot the line over the original image
        F = @(x) polyval(p, x);
        fplot(F, [1 dimX 1 dimY], '-y');
      }