从ECW文件中删除项圈(正射马赛克)


9

在处理/删除RGB正射影像镶嵌中的值时,也许我缺少一个基本概念。是否可以完全消除ECW格式的正射马赛克中的项圈(黑色背景)。我能够以TIFF格式进行操作,但是该文件必须为ECW格式,因为它非常大。我使用FME取得的成功有限,但是生成的文件始终包含未删除的区域。希望所有这些都有意义。

我愿意接受其他可用的格式,但只要其性能与ECW相同即可。

我可以访问FME和ArcInfo。


我正在尝试做同样的事情。替换.ECW文件周围的项圈。肯,您给我寄了FME工作台。谢谢,
塞西莉亚

Answers:


8

这是ECW格式的早期版本(<= 3.3)的局限,该版本不支持NoData值或Alpha透明度。有损压缩使移除项圈变得更加困难,因为黑色值不完全是RGB 0,0,0,而是变化的。

要摆脱衣领,您需要遮罩/夹住衣领,然后将图像转换为不支持NoData值,遮罩带或Alpha透明度的另一种格式。您可以使用通过ERDAS ECW / JP2 SDK版本4或更高版本,JPEG2000或Geotiff压缩的ECW。

有几种方法可以删除衣领,我倾向于在“好”数据周围绘制一个多边形并进行裁剪,或者使用GDAL nearblack实用程序。


感谢您的回复。是的,问题是黑色,嗯……不是所有的黑色,而是从0到6(在我的情况下)变化。我尝试了JPEG2000,尽管压缩大小相似,但是ECW格式的渲染性能要好得多。MrSID不支持任何数据吗?
dchaboya 2012年

尽管MrSID GEN4确实支持alpha波段,但MrSID仍与ArcGIS 10.0支持的格式(GEN3)版本存在相同的问题。根据此线程,MrsSID GEN4支持的目标是ArcGIS 10.1版本。
blah238 2012年

GDAL nearblack实用程序正是针对边界不是完全黑色的情况。机色c1,c2,c3 ... cn:(GDAL> = 1.9.0)您可以搜索指定颜色附近的像素。
markusN 2012年

我将尝试使用Nearblack实用程序。因此,似乎所有有损压缩格式都不支持nodata。谁能简要解释有损压缩无法支持nodata的原因。
dchaboya 2012年

SDK v4(2009)中引入了ECW alpha波段透明度。ArcGIS 10.2+和QGIS 2.2+支持它进行读取(来源:blog.hexagongeospatial.com/help-ecw-speckled-edges,它很好地解释了Nodata Pixels和Alpha Channel之间的差异)。我不知道写作。
马特·威尔基

5

自2010年以来,ECW就支持Alpha透明度,该透明度可以消除您所谓的“项圈”。这仅是ECW v3文件中的遗留限制。

所有标记为2010及更高版本的ERDAS软件(包括Imagine和ERMapper)都会自动编写ECW v4文件。使用v4 SDK的第三方产品可能支持编写或肯定读取该文件版本(台式机应用程序免费提供读取功能)。我不知道FME 2012是否已更新其ECW支持

注意:ECW格式版本向后兼容。如果您有一个已定义Alpha波段的ECW v4文件,但正在使用v3 SDK读取应用程序,则额外的波段将被忽略。在erdas.com网站上查看一些免费的ECW插件,特别是针对您的ArcInfo许可证,该插件将添加ECW v4支持

不幸的是,v3压缩器的流行意味着许多人认为局限性仍然存在,并且某种程度上是小波格式的局限性。这肯定不是真的

参考资料


2

有几种方法可以操纵FME 2012来卸下项圈。这是一个复杂的过程,在此键入太多。一种显示方法的快速方法是使用RasterExpressionEvaluator和表达式

if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[0]);if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[1]);if(A[0]<$(MAXPIXVALUE)&&A[1]<$(MAXPIXVALUE)&&A[2]<$(MAXPIXVALUE),0,A[2])

其中,MAXPIXVALUE是一个用户参数,设置为被视为黑色的最大像素值。以我为例,它大约是8。表达式搜索每个像素和每个带。如果任一频段的值小于指定的MAXPIXVALUE,则认为该单元格没有数据。如果像素值是9,8,8,则像素将保持原样,因为一个波段高于指定值。

在我的场景中,我使用表达式创建了一个完全适合图像的shapefile,并将原始ecws剪切到该表达式创建的shapefile中。


优秀的。将尝试一下。我怀疑此操作将需要一些时间才能在大型数据集上完成。
dchaboya 2012年

是。非常非常。我的数据集的运行时间为2-2000 ecws,工作台平均运行2-48小时。
扎克·吉尔伯特

尝试运行它时出现错误(可能是未正确设置)。因此,我将MAXPIXVALUE替换为要替换的最大值,就像(2)一样。现在,我不确定如何使用端口。有什么建议么?
dchaboya 2012年

我不确定。我需要看一下工作台,然后看看。自上次运行日志以来,将包含日志文件的工作台发送给我。我将看到我能用它做什么。
扎克·吉尔伯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.