首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将matlab中的图形转换为对象?

如何将matlab中的图形转换为对象?
EN

Stack Overflow用户
提问于 2014-03-24 21:41:20
回答 1查看 102关注 0票数 0

如果我的问题没有被完全理解,我很抱歉…我会试着通过描述我的问题来澄清它。

我有对象(在二进制图像中)几乎是curvey和long。我想画一条从顶点到最低点的直线,然后填满曲线和直线之间的封闭区域来测量它的面积,或者为了同样的目的找到曲线中每个点和直线之间的距离。我知道使用plot绘制一条线很容易,如下所示:

代码语言:javascript
复制
imshow(fnnShrink)
hold on
plot([TLx , BRx ],[TLy ,BRy],'-', 'MarkerFaceColor' , 'b')
hold off

这给了我漂亮的彩色线条(在matlab的图形中),但问题是我不能在这条线上进行任何测量(这只是为了显示)。即使像这里的一个朋友告诉我的那样尝试处理程序,它仍然只给了我一行的长度(没有帮助)。我尝试过的一种解决方案是通过使用直线方程将像素设置为1来自己制作一条直线,并在图像中创建新的对象直线,如下所示:

代码语言:javascript
复制
m = (TLy - BRy) / (TLx - BRx); % Always Same
   for i = TLx : 1 : BRx
        fnnShrink(round(m * (i - TLx) + TLy) , round(i)) = 1;
        fTest(round(m * (i - TLx) + TLy) , round(i)) = 1;
    end

这个解决方案适用于一些图像,如果(上点和下点之间)(在X轴上)的距离相对较大,问题是当距离非常小(斜率为负)时,我只能得到离散的线,而不是连续的线(上下点之间的一组点)...我的问题是..。如果你可以的话请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2014-03-24 22:30:53

实际上,与matlab中的所有绘图功能一样,imshow并不只显示绘图。它还返回所创建对象的句柄( matlab中相当于指针的句柄)。所以,你只需要

代码语言:javascript
复制
new_object = imshow(...)

而不只是即兴表演

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22611114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档