将Matlab中的绘图保存为矩阵[重复]
Posted
技术标签:
【中文标题】将Matlab中的绘图保存为矩阵[重复]【英文标题】:Save a plot in Matlab as a matrix [duplicate] 【发布时间】:2011-03-15 20:12:31 【问题描述】:想象一下,您在一个图中绘制了几个点、圆、线。之后另一个 m 文件应该使用这个图作为输入来做例如阈值。我知道 print 命令,但我不希望将绘图存储为文件。我更愿意将它存储在矩阵(x_dim,y_dim,3)中。有任何想法吗?
【问题讨论】:
【参考方案1】:您应该查看函数 getframe
和 frame2im
将图形或坐标区对象转换为图像矩阵。
【讨论】:
GETFRAME 和 FRAME2IM 看起来就像它们提供了我正在寻找的功能。不幸的是,抓取的分辨率非常糟糕。我绘制的原始图像尺寸为 2048x4096。 GETFRAME 和 FRAME2IM 后分辨率降至 513x1025!知道为什么吗? @Josef St.:函数 GETFRAME 捕获您在图形窗口的屏幕上看到的内容。如果您绘制图像(例如,使用 IMAGE 命令),则图像可能会按比例缩小以适合图形窗口,并且当图形窗口由 GETFRAME 捕获时,您最终会得到比以前更小的图像。您应该查看这些相关的 SO 问题:***.com/questions/1848176/…、***.com/questions/575475/…【参考方案2】:如何保存到图像?
您可以使用getframe
获取框架对象 F,其中 F.cdata 包含 RGB 值。
记得使用'border', 'tight'
选项来避免捕获边界。
【讨论】:
以上是关于将Matlab中的绘图保存为矩阵[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何将EXCEL里的大量数据导入并转化成MATLAB中的矩阵
如何将excel数据文件转换成MATLAB中的.mat文件?