问题标签 [raster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4231 浏览

java - 将 BufferedImage 绘制到另一个 BufferedImage 的最快方法

我正在尝试在 Java 中创建图像马赛克。我计算我正在创建的新图像的大小,然后对于将成为马赛克一部分的每个子图像,我进行一次绘制调用。

在伪代码中:

有一个更好的方法吗?我希望有某种直接复制操作可用,因为我不想将子图像转换或缩放成更大的图像。类似于每个子图像的光栅的arraycopy。我注意到有一个接受 Raster 对象的 setData 方法,但该方法指出 Raster 必须位于相同的坐标空间中。

有什么想法吗?这是我的程序中的一个瓶颈,我希望它尽可能快。

编辑:事实证明我错了(通常在没有硬数据的情况下做出假设)关于瓶颈在哪里。我有一个错误,即一遍又一遍地读取多张 3MB 图片,而不是使用缓存在内存中的缩小版本的图像。当我进行修复时,我的运行时间从 50 分钟变为 15 秒。

0 投票
1 回答
127 浏览

graphics - Direct3D vector output?

Is there any means to interpret Direct3D output as a series of vectors instead of a raster image? I am hoping I could use such a feature to generate a PDF file containing the rendered Direct3D output. Am I being too optimistic?

0 投票
2 回答
5614 浏览

java - 如何从 Java 中的像素浮点数组创建栅格?

我正在尝试获取 BufferedImage,应用傅立叶变换(使用 jtransforms),然后将数据写回 BufferedImage。但是我坚持创建一个新的栅格来设置结果,我在这里遗漏了什么吗?

但是我很难完成这条线,我应该给 createRaster 函数什么?createRaster 的 javadocs 对我来说意义不大:

我开始怀疑是否需要一个浮点数组,但是那里没有很多 jtransforms 的例子。

0 投票
1 回答
455 浏览

arcgis - ArcObjects:使用映射到颜色的双值保存 IRaster

如何在映射到某些颜色的单元格中保存具有双值的 IRaster?例如,(-inf; -50] 映射到蓝色,[+50; +inf) 映射到黄色,其他是逐渐计算的。

0 投票
2 回答
3913 浏览

r - rgdal 有效地读取大型多波段栅格

我正在使用 rgdal 包在 R 中处理图像分类脚本。有问题的栅格是一个具有 28 个通道的 PCIDSK 文件:一个训练数据通道、一个验证数据通道和 26 个光谱数据通道。目标是填充一个数据帧,其中包含训练数据通道中不为零的每个像素的值,以及 26 个波段中的相关光谱值。

在 Python/Numpy 中,我可以轻松地将整个图像的所有波段导入多维数组,但是,由于内存限制,R 中的唯一选项似乎是逐块导入此数据,这非常慢:

有没有更快/更好的方法来做同样的事情而不会耗尽内存?

收集此训练数据后的下一步是创建分类器(randomForest 包),该分类器也需要大量内存,具体取决于请求的树数。这让我想到了第二个问题,即考虑到训练数据已经占用的内存量,不可能创建一个由 500 棵树组成的森林:

有没有办法分配更多的内存?我错过了什么吗?谢谢...

[编辑] 正如 Jan 所建议的,使用“raster”包要快得多;但是据我所知,就收集训练数据而言,它并不能解决内存问题,因为它最终需要在数据帧中,在内存中:

所以虽然这要快得多(并且需要更少的代码),但它仍然不能解决没有足够的可用内存来创建分类器的问题......是否有一些我还没有找到的“光栅”包函数可以完成这个? 谢谢...

0 投票
1 回答
2805 浏览

r - 带有光栅包的randomForest分类的R问题

我遇到了 randomForest 和 raster 包的问题。首先,我创建分类器:

到目前为止,一切都很好。通过查看错误率、混淆矩阵等,我可以看到森林是正确创建的。但是,当我尝试对一些数据进行分类时,我遇到了以下问题,它返回了所有 NA predictions

并给出这个警告:

但是,直接调用 predict.randomForest 可以正常工作并返回预期predictions(这对我来说不是一个好选择,因为图像很大,我无法将整个矩阵存储在内存中):

我怎样才能让它直接与“光栅”版本一起工作?我知道这是可能的,如predict{raster}的示例所示。

0 投票
1 回答
6504 浏览

wpf - 在 WPF 中使用的首选矢量图像格式?

根据标题,在 WPF 中使用的首选图像格式(或格式)是什么?

我的公司将聘请设计师设计一些徽标、图像、工具栏图标等,以用于 WPF 应用程序。我打算要矢量图形,因为它们应该在不失去清晰度的情况下拉伸、收缩等;

但是,阅读这篇文章 WPF 是否支持本机读取/写入 WMF/EMF 文件? 其他人让我担心;它看起来不像一个简单的任务?!这不是 WPF 在其睡眠中本机应该处理的吗?!拉伸、旋转、投掷火焰、烤面包等……

0 投票
2 回答
5120 浏览

windows - StretchBlt HALFTONE == BILINEAR 是否适用于所有缩放?

谁能澄清工作站 Win32 API 的 GDI StretchBlt函数是否执行双线性插值以缩放 24/32位彩色图像的较大和较小图像如果没有,是否有执行此操作的 GDI(不是GDI+)函数?

SetStretchBltMode fn 有一个设置HALFTONE ,记录如下:

HALFTONE 将源矩形中的像素映射到目标矩形中的像素块。目标像素块上的平均颜色近似于源像素的颜色。

我已经看到参考资料(请参阅第一个答案的后续内容),这在缩小图像时执行双线性插值,但没有明确回答放大时会发生什么。

我注意到Windows Mobile CE SDK 确实支持 BILINEAR 标志- 这与 HALFTONE 注释完全相反(仅适用于放大)。

请注意,对于这个问题的范围,我对追求 GDI+(它有许多插值选项)、OpenGL、DirectX 等作为替代品不感兴趣,所以请不要为这些其他 API 或替代品的后续行动而烦恼图像库。

我真正希望找到的是一些明确的 MS/MSDN 或其他高质量文档,这些文档清楚地记录了 Win32(桌面)GDI 行为的这种行为。

同时,我将尝试一些比较 GDI 与 Direct2D 的实验(它确实有一个明确的标志来控制这一点)并发布我的发现。

谢谢!

0 投票
6 回答
22033 浏览

r - 如何在 R 中创建具有相同色阶的栅格图

我正在使用 R 中的“raster”包从栅格文件创建一些地图。我想创建比较栅格,并排显示几个地图。重要的是,所有地图使用的色标都是相同的,无论每张地图中的值如何。例如,如果地图 1 的值介于 0-1 之间,而地图 2 的值介于 0-0.5 之间,则值为 0.5 的单元格在两个地图上应该具有相同的颜色。

例如:

  • 地图 1 的值从 0 到 1
  • 地图 2 的值从 0 到 0.5
  • 颜色从红色(最低)变为绿色(最高)

我希望 0.5 的值在两张地图中具有相同的颜色(即黄色,介于红色和绿色之间)。当前的行为是地图 1 中为黄色,地图 2 中为绿色。

我找不到使这项工作的方法。我看不到任何方法来设置与绘图功能一起使用的像素值范围。setMinMax() 没有帮助(因为 'plot' 总是计算值)。即使尝试手动设置值(例如 g1@data@max <- 10)也不起作用(绘图时会忽略这些值)。

最后,制作一堆地图(这可能会以相同的色标绘制所有内容)也不起作用 - 每张地图仍然有自己的色标。

关于如何做到这一点的任何想法?

编辑:

我最终使用的解决方案是:

0 投票
4 回答
2185 浏览

algorithm - 光栅路径跟踪算法

我有一个类似于下图的栅格值(白色是高值,黑色背景值为零)。

栅格网格示例

我正在尝试编写某种路径跟踪代码,从其中一行的末尾开始并跟踪到另一端,通过可能的最高值(即,选择在行中的像素越白更好)但仍然到达另一端。

我已经为此苦苦挣扎了一段时间,似乎无法得到任何我尝试工作的东西。所以我想知道,是否已经针对此类问题开发了通用算法?我做了很多搜索,但大多数路径算法似乎都设计用于矢量/网络,而不是像这样的栅格网格。

有任何想法吗?