matlab:将几何对象添加到图像的正确方法

时间:2009-09-21 06:31:48

标签: matlab image-processing matlab-cvst

请帮助Matlab初学者挑战 我需要创建一个几何对象很少的图像(圆圈, 椭圆)然后应用一些投影变换 我的问题是我无法理解如何在图像上“绘制”

图像是AFAIU,一般定义为[X; Y; ​​3]矩阵, 作为SCIRCLE1的函数可以计算/返回点的集合 代表圆圈,但问题是点不是离散的, 坐标是实数而不是像素

如何重新计算scircle输出在图像中有效 坐标系?即我如何“像素化”呢?

感谢您的关注,我真的错过了一些基本的概念 非常感谢您的帮助

约翰

3 个答案:

答案 0 :(得分:0)

以下是我在Matlab新闻组收到的答案 BOTTOM LINE-在Matlab中没有内置方式

====================================== “getframe”可用于合并轴,即使它更常用于创建电影帧。

MATLAB在这个领域非常薄弱。有一些原始的 绘制到叠加层的函数(如矩形(),如果你 想绘制一个圆,如果你想绘制一条直线()(但是没有) 我所知道的真实方式是直接进入底层图像。所以 你必须使用“技巧”,如getframe,然后应用逻辑 操作。因为我认为什么时候你必须要小心 它为您提供了它可能的叠加的栅格化版本 屏幕上图像的大小,而不是真正的原始矩阵大小 基础图像(我必须重新检查)。

完整主题:http://www.mathworks.com.au/matlabcentral/newsreader/view_thread/261232

答案 1 :(得分:0)

我发现这个例子可以让你轻松地将简单的几何对象放到图片上。

阅读输入图像。

I = imread('cameraman.tif');

将矩形尺寸定义为[x y width height]

rectangle = int32([10 10 30 30]);

绘制矩形并显示结果。

J = step(shapeInserter, I, rectangle);
imshow(J); 

请参阅this link

顺便说一下..
我没有让你指出不是离散点和图像是矩阵的点。我看待它的方式。它大致相同。你可以尝试更深入地解释它吗?

答案 2 :(得分:0)

计算机视觉系统工具箱中的insertShape功能是您所需要的。它允许您将矩形,圆形和多边形绘制到图像中。

还有insertTextinsertMarkerinsertObjectAnnotation