2009-03-07 63 views
6

Tôi đã viết mã để nén và giải nén tệp hình ảnh bằng SDK độc quyền để truyền từ máy bay qua vệ tinh. Thật không may một giấy phép phải được mua để giải nén cũng như nén. Cho đến nay, các ứng dụng của tôi hầu như được sử dụng trong nhà để tôi có thể theo dõi các giấy phép và phân phối. Bây giờ tôi cần phải cung cấp các ứng dụng cho người ngoài và tôi không thể kiểm soát việc phân phối cũng như không muốn trả tiền cho các giấy phép.Thư viện hoặc SDK JPEG2000 miễn phí để nén

Có ai biết các chương trình, SDK hoặc thư viện nén miễn phí không? Tôi lập trình bằng C++ cho Windows NT, 2000, XP.

Tệp hình ảnh của tôi là dữ liệu thô, đơn sắc, có pixel không dấu 16bit và nén được sử dụng là lossless hoặc rất nhẹ lossy.

+1

Tôi không phải là Luật sư SO, nhưng tôi không thấy lỗi trong câu hỏi này. Tôi lưu ý rằng nó không thực sự thu hút cuộc tranh luận, tranh luận, bỏ phiếu, hoặc thảo luận mở rộng, vì vậy bất cứ điều gì heuristic được sử dụng để dự đoán rằng thất bại trong trường hợp này. – Spike0xff

Trả lời

4

Có thể đây có thể là điểm khởi đầu tốt: OpenJPEG. Nếu nó không đáp ứng yêu cầu của bạn thì hãy hỏi tại diễn đàn của họ để biết một số gợi ý.

Một số người tại trường đại học của tôi đã sử dụng jj2000 để thử nghiệm khác nhau. Tuy nhiên, nó có trong Java ...

+1

Tôi đã thành công với OpenJPEG trong Windows. (C#; Tôi đã viết wrapper của riêng mình trong C và gọi DLL đó với C#). Đó là loại chậm nhưng nó hoạt động. –

+0

@JaredUpdike có vẻ tuyệt vời! Bạn có bao bọc mã nguồn mở hoặc sẵn sàng tải xuống không? – Andreas

-9

Tại sao mọi người sẽ đặt nền tảng cửa sổ trả tiền cho ai đó cho thư viện Jpeg khi GdiPlus đã làm như vậy?

http://msdn.microsoft.com/en-us/library/ms533844(VS.85).aspx

phải là điểm khởi đầu tốt. gdiplus có tốc độ giải nén jpeg tốt nhất thứ hai theo chiều kim đồng hồ (trong các thử nghiệm của tôi cho bất kỳ thứ gì được tính). Và được phân phối như một thành phần hệ điều hành với Windows 5 trở lên. tức là Windows XP trở lên.

Nếu vì lý do nào đó, GDIPlus không thể chấp nhận ...

Intel sử dụng để phân phối một nén jpeg * thư viện nén, inventively đặt tên là "intel jepg thư viện" hoặc ijl. redistributable bao gồm một dll đơn, ijl15.dll Nếu bạn có thể tìm thấy bản phân phối gốc, được cấp phép để phân phối và sử dụng miễn phí. Intel chỉ không lưu trữ nó nữa. Nó được thay thế bằng thư viện nguyên thủy hiệu năng intel, có chứa nén và giải nén jpeg, nhưng việc cấp phép cho mỗi chỗ ngồi là rất công bằng, và một lần nữa không có giới hạn về việc phân phối lại các tài liệu phân phối coff.

+4

Có sự khác biệt giữa JPEG và JPEG2000. JPEG2000 là một động vật hoàn toàn khác với nén tốt hơn nhiều. – kevindaub

5

Nó chỉ là một suy nghĩ, nhưng tiêu chuẩn de facto cho JPEG2000 là Kakadu vì TS Taubman khá nhiều viết tiêu chuẩn JPEG2000. Mặc dù nó chi phí một số tiền, nó là thư viện tốt nhất mà tôi biết.

1

Magick ++ là một ràng buộc C++ cho ImageMagick mà tôi nghĩ rằng cho thấy chức năng JPEG-2000 của ImageMagick. ImageMagick sử dụng libjasper, mà Doug đã đề cập. Điều này có thể làm các trick cho bạn (và hy vọng cho tôi, quá).

+1

ImageMagick hiện sử dụng OpenJPEG thay vì JasPer để xử lý JPEG 2000 http://www.imagemagick.org/discourse-server/viewtopic.php?t=25357 – cyang

2

Kiểm tra j2k-codec Nó không miễn phí nhưng cũng không đắt tiền.

Tôi đã tự mình mua (v1.7) và sử dụng nó trong 4 năm. Giải mã rất nhanh, không có lỗi nào gặp phải cho đến nay.

Để mã hóa, tôi sử dụng ER Mapper SDK.

Tôi không biết có bao nhiêu cải tiến Jasper hoặc OpenJPEG đã hiển thị những năm này, nhưng những thư viện miễn phí đó quá chậm để tôi sử dụng.(Cả mã hóa và giải mã chậm)

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