斯潘8
斯潘4
我有一个TIFF文件,我正在从32real转换为jp2 16uint。TIFF具有nodata=-9999。我运行了一个RasterCellValueReplacer,将-9999更改为0,并将nodata设置为yes。接下来是RaseTabelExpReltualStudio使其成为16uTin。运行时,JP2具有像素值的边缘颤振,NoDATA现在具有从1到10的值。是什么导致了这种边缘颤动,我该如何消除它?
您好,@john ou linehan,@戴维德,只是做了一些实验。
我生成了一些例子tiff,履行规范,从我的ECW区域图像。它将光栅的一个矩形片段剪断,然后从结果中再次剪断一个三角形片段。之后,强制到real32并在结果上放置一个nodata值。这是生成的TIFF(使用irfanview显示):
为了完整,我将工作区作为generatetiff.fmw包含在内。
现在,我可以使用工作区transformraster.fmw来重现这种行为。rasterbandnodatasetter似乎对jp2文件没有影响,这似乎合乎逻辑,因为jp2格式似乎没有注册这个属性(快速事实状态不适用于nodata值)。
当使用rasterexpressionEvaluator比较输入和输出光栅并将表达式(preserve)设置为a[0]-b[0]时,从两个光栅中删除nodata值后,结果是这样(从FME通用查看器查看):
看起来原始光栅上添加了大约15个像素的条带,填充随机值(在我的情况下,从0到4不等)。产生这个结果的工作区是comparerater.fmw。正如约翰所指出的,这可能是由于JP2压缩的模糊性造成的。然而,JP2压缩不是模糊的,好,使用CDF 5/3小波变换(无论是什么意思)时不会有损或可逆。在FME中,通过将编写器的压缩级别设置为0(参数压缩百分比,默认设置为75,即.,有损压缩)。
这并不意味着生成的光栅完全没有压缩。但是,未压缩的TIFF源文件占用的空间大约是“未压缩”JP2文件的10倍(但是,75%的压缩结果需要大约一半的压缩结果)。
所以,我猜如果为JP2压缩级别指定0,它不受边缘散射的影响。如下图所示(同样来自FME通用查看器)。
此分析基于此FME版本:
?2019安全亚搏在线软件公司|合法的