2010-03-11 61 views
6

Tôi có một cơ sở dữ liệu chứa dữ liệu hình ảnh được lưu trữ dưới dạng blob nhị phân. Tài liệu cho biết dữ liệu được mã hóa bằng LZW. Tôi nghĩ rằng tôi có thể giải mã nó bằng cách sử dụng các luồng đầu vào Zip hoặc GZip được tìm thấy trong thư viện Java, nhưng nó không hoạt động - tôi nhận được một ngoại lệ cho biết định dạng của dữ liệu không chính xác.Làm cách nào để tôi có thể thực hiện giải mã LZW trong Java?

Từ những gì tôi đã đọc, thư viện sử dụng DEFLATE, không phải là LZW. Ngoài ra, tôi đã đọc về một số vấn đề cấp phép khi sử dụng thuật toán LZW.

Tôi có thể sử dụng những gì để giải mã dữ liệu? Đây có phải là một cái thư viện? Tôi có phải tự mình thực hiện không? Còn vấn đề cấp phép thì sao?

+2

Chính thuật toán LZW đã được cấp bằng sáng chế, nhưng bằng sáng chế đã hết hạn vào năm 2003. –

Trả lời

1

Dưới đây là một vài liên kết:

Và có những người khác.

Thật vậy nếu hình ảnh là tệp TIFF nén LZW, thì số Java Advanced Imaging API dường như hỗ trợ giải mã trực tiếp (mặc dù không phải là encoding có vẻ như).

+0

Chúng không phải là tệp TIFF, chúng chỉ là dữ liệu quét hình ảnh và tôi chỉ quan tâm đến giải mã. Cảm ơn các nguồn tài nguyên! –

1

Bạn cũng có thể thử với 7-Zip JBinding sử dụng thư viện 7zip trong nội bộ. Nó khá dễ sử dụng.

1

Tôi đã trải qua một số lượng đáng ngạc nhiên khi triển khai LZW trước khi tìm một cài đặt hoạt động cho trường hợp của tôi.

UncompressedInputStream từ BioJava project làm việc cho tôi, khi tôi cần phải giải nén tệp .pax.

Các vấn đề liên quan