我想从我的高质量的PDF文档中选择一个数据,它没有文本元素(只是一个图表),最初是由Matlab编写的。我不想为我的同事们提供全貌,因为它太过压倒性了。
Matlab中的#1工具
我知道这个线程如何读取以PDF格式存储的图像文件(就像使用i= imread('image.jpg')读取jpeg文件一样)?,但是我已经从我的同事那里得到了否认的经验,对于我的任务来说,PDF应该足够了,因为我的数据只是一个高质量的图形,没有文本元素。最相关的线程是这个如何从matlab中的pdf文件中提取数据? --大多数尝试都是基于将PDF提取到TXT,比如如何在Matlab中读取PDF文件?关于pdftotext。
我想现在imcrop的PDF,以便输出可以用于时间序列分析的数学这里,但我没有发现默认的imcrop工具的imcrop支持PDF,裁剪图像。一些发现
Show和Save as PDF基于回答。我做了pdf = Import[filename.pdf]; Show[pdf[[1]], PlotRange -> {{50, 200}, {100, 300}}],我在图像查看器中看到了一个很好的选定图片,但是当将图片导出回来看完整图片时失败了。为什么? PlotRange不裁剪,只在图片的顶部放一个白色的面具,这样就可以在数学中分离等等。Show从ImageCrop到回答。方法错误,与ImageTake混淆。Show从ImageTake到回答。Show和ImageTake不是相互内射的,因为根据手册,ImageTake至少颠倒了参数{ymin,ymax}, {xmin,xmax}的顺序。但是,我无法通过逆转参数来选择正确的选择。为什么?Mathematica评语
如果选定的区域能相互对应,那就太好了。因此,我想有一些视觉工具,以选择适当的区域从图形。我注意到在放大原始图像时会出现一些混叠现象。很高兴知道Mathematica是如何用ImageTake处理这种情况的。
你如何准备PDF图像的打印出来的时间系列工具箱的数学?我想这个问题是关于图像提取的。但是,我将这个问题扩展到了更好的Matlab颜色图和数学时序工具箱的图像提取?线程中。
发布于 2015-12-04 15:55:36
Mathematica会将您的pdf导入为一个图形对象,您可以使用plotrange“裁剪”。
pdf = Import[filename.pdf];
Show[pdf[[1]], PlotRange -> {{50, 200}, {100, 300}}] 注“点”中的值为{{xmin,xmax},{ymin,ymax}}。
您还可以对ImageTake进行栅格化,然后使用
ImageTake[Rasterize[pdf[[1]]], {10, 100}, {20, 100}]这里的值是{ymin,ymax} , {xmin,xmax} (注意相反的顺序)
注意,这里的[[1]]实际上是页码。我很确定Import会返回一个页面列表,即使pdf是一个页面。
如果你真的想提取地块数据,那就完全是另一个问题了。为此,我建议使用mathematica.stackexchange.com并提供一个示例文件。
https://stackoverflow.com/questions/34091361
复制相似问题