Xóa cổ áo khỏi tệp ECW (Orthophoto khảm)


9

Có lẽ tôi đang thiếu một khái niệm cơ bản khi thao tác / xóa các giá trị khỏi khảm trực giao RGB. Có thể loại bỏ hoàn toàn cổ áo (nền đen) khỏi khảm khảm orthophoto ở định dạng ECW. Tôi đã có thể thực hiện ở định dạng TIFF nhưng tệp cần phải ở định dạng ECW vì nó rất lớn. Tôi đã hạn chế thành công, sử dụng FME, để thực hiện điều này nhưng tệp kết quả luôn có các khu vực không bị xóa. Hy vọng tất cả điều này có ý nghĩa.

Tôi đang mở các định dạng khác sẽ hoạt động, nhưng miễn là nó hoạt động ở mức tương tự như ECW.

Tôi có quyền truy cập vào FME và ArcInfo.


Tôi đang cố gắng làm như vậy. Thay thế vòng đệm xung quanh tệp .ECW. Kan bạn gửi cho tôi bàn làm việc FME. Cảm ơn,
Cecília

Câu trả lời:


8

Đây là giới hạn của các phiên bản đầu (<= 3.3) của định dạng ECW không hỗ trợ các giá trị NoData hoặc độ trong suốt Alpha. Việc nén mất dữ liệu khiến cho việc loại bỏ các vòng cổ trở nên khó khăn hơn vì các giá trị màu đen không chính xác là RGB 0,0,0 nhưng khác nhau.

Để thoát khỏi cổ áo, bạn cần che / kẹp cổ áo và chuyển đổi hình ảnh sang định dạng khác hỗ trợ các giá trị NoData, dải mặt nạ hoặc độ trong suốt Alpha. Bạn có thể sử dụng ECW được nén bằng phiên bản 4 trở lên của ERDAS ECW / JP2 SDK, JPEG2000 hoặc Geotiff.

Có một vài cách để loại bỏ cổ áo, tôi có xu hướng vẽ một đa giác xung quanh dữ liệu và clip "tốt" hoặc sử dụng tiện ích gần như GDAL .


Cảm ơn vì sự trả lời. Vâng, vấn đề là màu đen, ờ ... không phải là màu đen, mà thay đổi từ 0 đến 6 (trong trường hợp của tôi). Tôi đã thử JPEG2000 và mặc dù kích thước compresion tương tự nhau, hiệu suất kết xuất vượt trội hơn nhiều với định dạng ECW. MrSID có hỗ trợ không có dữ liệu không?
dchaboya

MrSID có cùng vấn đề với phiên bản định dạng (GEN3) được ArcGIS 10.0 hỗ trợ, mặc dù MrSID GEN4 không hỗ trợ các băng tần alpha. Theo chủ đề này , hỗ trợ MrSID GEN4 được nhắm mục tiêu cho phiên bản ArcGIS 10.1.
blah238

Tiện ích gần như GDAL chính xác cho trường hợp đường viền không hoàn toàn màu đen. Màu sắc c1, c2, c3 ... cn: (GDAL> = 1.9.0) bạn có thể tìm kiếm các pixel gần màu được chỉ định.
markusN

Tôi sẽ thử tiện ích nearblack. Vì vậy, có vẻ như tất cả các định dạng nén mất dữ liệu không hỗ trợ gật đầu. Bất cứ ai cũng có thể giải thích ngắn gọn lý do đằng sau việc nén mất mát không có khả năng hỗ trợ nốt.
dchaboya

Độ trong suốt của dải alpha ECW đã được giới thiệu trong SDK v4 (2009). ArcGIS 10.2+ và QGIS 2.2+ hỗ trợ nó để đọc (nguồn: blog.hexagongeospatial.com/help-ecw-speckled-edges , có giải thích tốt về sự khác biệt giữa Nodata Pixels và Kênh Alpha). Tôi không biết về văn bản.
matt wilkie

5

ECW kể từ năm 2010 đã hỗ trợ tính minh bạch alpha loại bỏ những gì bạn gọi là "vòng cổ". Đây chỉ là giới hạn kế thừa trong các tệp ECW v3.

Các tệp ECW v4 được ghi tự động bởi tất cả các phần mềm ERDAS được gắn thẻ 2010 trở lên, bao gồm cả Imagine và ERMapper. Các sản phẩm của bên thứ ba sử dụng SDK v4 có thể hỗ trợ ghi hoặc chắc chắn đọc phiên bản tệp này (việc đọc được cung cấp miễn phí cho các ứng dụng trên máy tính để bàn). Tôi không biết nếu FME 2012 đã cập nhật hỗ trợ ECW của họ

Lưu ý: Các phiên bản định dạng ECW tương thích ngược. Nếu bạn có tệp ECW v4 với băng alpha được xác định nhưng đang đọc với ứng dụng bằng SDK v3, băng tần bổ sung sẽ đơn giản bị bỏ qua. Kiểm tra trang web erdas.com để biết một số plugin ECW miễn phí, đặc biệt đối với giấy phép ArcInfo của bạn sẽ thêm hỗ trợ ECW v4

Thật không may, sự phổ biến của máy nén v3 có nghĩa là nhiều người cho rằng những hạn chế vẫn còn và bằng cách nào đó là một hạn chế của các định dạng sóng con. Điều này không chắc chắn là không đúng

Người giới thiệu,


2

Có nhiều cách để thao tác FME 2012 để loại bỏ cổ áo. Đây là một quá trình phức tạp và quá nhiều để gõ ở đây. Một cách nhanh chóng để hiển thị cách có thể được thực hiện là sử dụng RasterExpressionEvaluator và biểu thức

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])

Trong đó MAXPIXVALUE là tham số người dùng được đặt thành giá trị pixle tối đa được coi là màu đen. Trong trường hợp của tôi là khoảng 8. Biểu thức tìm kiếm từng pixel và băng tần. Nếu bất kỳ một băng tần nào có giá trị nhỏ hơn MAXPIXVALUE được chỉ định, nó sẽ coi ô đó không có dữ liệu. Nếu giá trị pixel là 9,8,8, nó sẽ rời khỏi pixel vì một băng tần cao hơn giá trị được chỉ định.

Trong kịch bản của tôi, tôi đã sử dụng biểu thức để tạo một shapefile phù hợp chính xác với hình ảnh và cắt các ecws ban đầu với shapefile được tạo bởi biểu thức.


Thông minh. Sẽ thử cái này Tôi nghi ngờ rằng thao tác này sẽ mất một chút thời gian để hoàn thành một bộ dữ liệu lớn.
dchaboya

Đúng. Rất nhiều như vậy. Bộ dữ liệu của tôi chạy bất cứ nơi nào từ 2- 2000 ecws và bàn làm việc chạy trung bình 2-48 giờ.
Zack Gilbert

Tôi đang gặp lỗi khi cố chạy nó (có thể không thiết lập chính xác). Vì vậy, tôi đã thay thế MAXPIXVALUE bằng giá trị tối đa tôi muốn thay thế, như vậy (2). Bây giờ, tôi không chắc làm thế nào để sử dụng các cổng. Bất kỳ đề xuất?
dchaboya

Tôi không chắc. Tôi sẽ cần phải nhìn vào bàn làm việc và xem. Gửi email cho tôi bàn làm việc của bạn với tệp nhật ký từ lần cuối bạn chạy nó. Tôi sẽ xem những gì tôi có thể làm với nó.
Zack Gilbert
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.