`
explorer
  • 浏览: 95617 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JPEG2000 集成开发 之三

 
阅读更多
  • 应用背景

需要使用ADF高速扫描仪,扫描卡片并OCR部分内容、条码,校对后上传至后台应用。卡片为A3尺寸,白纸印表格+贴条码标识+印章戳记,24位真彩色,需要双面扫描,能接受的最低标准为扫描 200 dpi,每天数据量约600-800张。应用是用delphi写的,上传使用ftp。

这样的话,裸bmp文件将达到20MB+,即使用jpeg也将达到 600KB+ 。 最初系统使用jpeg存储,为了降低后台存储数据量,拟打算使用jpeg2000格式。经过初步测试: 一张典型的卡片: 原始651KB的jpeg文件(bmp转换而来,75%质量),  转换成jp2格式后,文件尺寸减小为 235KB,同时图像质量降低不多(肉眼观察图像,感觉细节质量损失不超过两成), 效果还是很明显的。

最好的目标:从twain 抓数据后,直接encode 成 jp2文件,且应用的界面原生支持jp2图片的浏览、缩放、旋转...
次一级目标:twain、界面处理过程不变, 仅仅在upload到后台前 转换为jp2; 这样的方案技术难度要简单很多,风险也会小很多,也是实际选择的方向。

 

  • 核心SDK选择


j2kcodec- demo详细、有文档,支持delphi、.net C++ 等多种开发。网上搜索它的广告、链接也是最多的,但是试用了一把,发现仅仅支持jpeg2000的解码,没有编码入口, 没有真亏了还叫 "codec"

jasper- 开源方案,C++ 编写,支持win32形式的dll调用。 实现了完整的 JPEG-2000 Part-1 standard 。经过搜索,发现在开源方案中很流行的, K-Desktop、Ghostscript、 Xnview等 软件都是用的它的方案。

kakadu- 收费方案,澳大利亚某大学出品,非商业用途个人使用免费。demo完整,有现成的command 命令行可供使用(供演示用的)。 如果要深度集成,必须付费购买lib obj dcu 等。

 

  • KDU 集成

使用 kdu_compress kdu_expand 两个exe 。 简要用法:

 

//Codec
kdu_compress -i 002.bmp -o 002-[rate0.25].jp2 -rate 0.25

-i 源图片文件,支持的后缀有TIFF, RAW (big-endian), RAWL (little-endian), BMP, PBM, PGM and PPM
-o jpeg2000格式的目标文件,后缀用 jp2
-rate 表示重采样率 ( expressed in terms of the ratio between the total number of compressed bits (including headers) and the product of the largest horizontal and  vertical image component dimensions), 经验值是 0.25 刚刚好

//Decode
kdu_expand -i 002-[rate0.25].jp2 -o 002.bmp
-i 源jp2 图片
-o 目标解压好的bmp图片

分享到:
评论

相关推荐

    matlab开发-JPEG2000MATLABwrapper

    标题中的“matlab开发-JPEG2000MATLABwrapper”指的是使用MATLAB进行JPEG2000图像编码和解码的开发工作。JPEG2000是一种高级的数字图像压缩标准,它采用了分形编码和多级传输技术,相比传统的JPEG标准,提供了更高的...

    JPEG2000 C语言代码 跨平台

    开发者可以利用这个C语言实现的库,快速集成JPEG2000编码和解码功能到自己的项目中,无论是桌面应用、服务器软件,还是嵌入式系统。 为了更好地理解和使用这个项目,你需要具备一定的C语言编程基础,熟悉CMake构建...

    JPEg2000标准Kakadu软件

    3. **多级编码**:通过多级编码,JPEG 2000能实现无损和有损压缩的无缝过渡,用户可以根据需要调整图像质量与文件大小的平衡。 4. **码流分割**:支持码流分割,可以分别处理图像的不同部分,如只解码图像的一部分...

    jj2000-5.1a-Java语言的Jpeg2000图像库

    3. **API**:提供丰富的编程接口,方便开发者集成到自己的应用中,实现JPEG 2000图像的读写、解析、编辑等功能。 4. **示例代码**:可能包含演示如何使用库功能的示例程序,帮助开发者快速理解和应用。 5. **文档*...

    matlab开发-JPEG2000压缩使用simulinkv2

    本项目“matlab开发-JPEG2000压缩使用simulinkv2”就是利用Simulink来实现JPEG2000图像压缩的一种方法。 JPEG2000的核心技术包括离散小波变换(DWT)、级联码流结构、多分辨率表示和自适应熵编码等。这些技术使得...

    JPEG2000源代码

    VC++,全称Visual C++,是微软公司开发的一款强大的C++集成开发环境,广泛用于Windows平台上的应用程序开发。这里的标签“VC++ 图片处理”表明这些源代码是为在VC++环境中处理图像,尤其是JPEG2000格式的图像而设计...

    JPEG2000.rar_JPEG2000_JPEG2000 C++

    在实际开发中,常用的C++ JPEG2000库有OpenJPEG和JPEG2000-CPP等。这些库提供了完整的API接口,开发者可以方便地集成到自己的项目中,实现JPEG2000图像的处理。 总结,JPEG2000凭借其高效的小波变换和丰富的编码...

    JPEG2000图像编解码 源码

    开发人员可以通过这个库文件学习和研究JPEG 2000的编码流程,也可以将其集成到自己的项目中,快速实现JPEG 2000的编解码功能。 总之,JPEG 2000图像编解码源码提供了一个深入了解和实践该编码标准的平台。通过`J2k...

    jpeg2000

    使用这样的C++库,开发者可以直接在自己的应用程序中集成JPEG2000功能,而无需从头开始编写所有核心算法。 在www.pudn.com.txt这个文件中,可能包含了关于这些资源的进一步信息,如下载链接、使用教程或者版权信息...

    JPEG2000源码

    在本文中,我们将深入探讨JPEG2000的核心原理和其在VC(Visual C++)环境下的开发。 1. **JPEG2000基础** JPEG2000采用的是基于小波变换的编码方法,而JPEG则使用离散余弦变换。小波变换允许图像在空间和频率上...

    JPEG2000ctde.rar_JPEG2000

    通过源代码,我们可以研究如何在Windows环境下集成JPEG2000编解码算法,以及如何设计一个用户友好的界面来展示其功能。 了解并研究这个JPEG2000编码器的源代码,开发者可以获得以下关键知识点: 1. 离散小波变换...

    嵌入式的JPEG2000编解码系统的设计与实现

    ### 嵌入式的JPEG2000编解码系统的设计与实现 #### 概述 随着数字图像和视频数据的急剧增长,压缩技术成为存储和传输这些数据的关键手段。JPEG2000作为一种新兴的图像/视频压缩标准,旨在解决传统JPEG标准存在的...

    JPEG2000源码 vc

    对于"JPEG2000源码基于vc"的描述,这意味着该源代码是使用Microsoft Visual C++(VC++)编写的,这是一款广泛使用的C++集成开发环境。使用VC++编写JPEG2000源码可以确保代码在Windows平台上高效运行,并且方便进行...

    图像JPEG2000压缩算法

    JPEG2000是一种先进的数字图像压缩...而“Blackfin_JPEG2000”这个文件很可能是关于如何在ADI Blackfin处理器上实现JPEG2000压缩算法的详细文档或代码库,对于开发基于Blackfin平台的图像处理应用具有重要的参考价值。

    Java_JPEG2000_codec.zip_java jj2000_jj2000_jj2000-4.1_jj2000-4.1

    通过阅读这些文档,开发者可以了解如何正确地将JPEG2000编解码器集成到自己的应用程序中,避免在开发过程中遇到困难。 www.pudn.com.txt 可能是发布这个资源的网站信息或者版权声明,对于实际的编码工作可能帮助较...

    基于Nios嵌入式处理器的JPEG2000算法实现

    在现代数字图像处理领域,JPEG2000作为一种先进的压缩标准,因其卓越的图像质量和灵活的编码特性而受到广泛的关注。Nios II嵌入式处理器是Altera公司开发的一种软核处理器,它允许用户根据需求定制处理器配置,适用...

    JPEG2000 源程序 Jasper 图像压缩编码

    源程序Jasper是一个开源的JPEG2000编解码库,由DCE(Digital Cinema Efforts, LLC)开发并维护,用于实现JPEG2000标准。 Jasper库提供了对JPEG2000编码和解码的全面支持,包括基本的编码算法、多分辨率表示(分形...

    基于jpeg-9d编译的windows版本JPEG开发库以及工程源码

    在Windows平台上,开发人员经常需要这个库来处理JPEG图像,例如读取、写入或压缩/解压缩JPEG文件。 本资源提供了基于`jpeg-9d`编译的Windows版本的JPEG开发库,涵盖了不同配置下的库文件和头文件。具体来说,它包括...

    blakfin-JPEG2000 code example

    使用这个示例代码,开发者可以了解如何在Blackfin处理器上实现JPEG2000编解码,也可以将其作为基础,根据实际需求进行二次开发,例如优化性能、增加特定功能或集成到更大的系统中。对于学习嵌入式图像处理和Blackfin...

Global site tag (gtag.js) - Google Analytics