因项目需要,需要在windows(64位)和linux的环境下配置OpenJPEG。

官网引出的github链接如下:https://github.com/uclouvain/openjpeg/releases/tag/v2.3.0

该网站windows下64位版本有两种

前两者自然是已编译过,下载即可在bin文件夹中使用opj_compress.exe,opj_decompress.exe,opj_dump.exe的版本,但是不含源码。如果你想对源码进行改动,请选择Source code (zip)。所以我自然是下载后者。在这里要说明,OpenJPEG自身并不支持PNG,TIF的压缩编码,如果需要,则应单独安装第三方库。但是在这个已编译好的版本中,这些都是包含进去的。在源码中则需要自己手动安装第三方库。

对于源码的编译,可以在解压后,根据README.md中介绍的参考文档来指导进行,链接如下:https://github.com/uclouvain/openjpeg/blob/master/INSTALL.md

初始介绍windows下应当使用minGW编译,minGW在编译安装x264时使用过,亲测也是可以编译OpenJPEG的,简单的说也就是打开minGW(打开msys.bat)后,根据后续指令即可。但是这里我们电脑中的主编译为Visual Studio 2013,因此可以根据文档后面的内容来编译:

首先建立build文件夹:

mkdir build
cd build

之后使用cmake编译:

cmake -G "Visual Studio 12 2013" -DCMAKE_BUILD_TYPE:string="Release" -DBUILD_SHARED_LIBS:bool=on BUILD_THIRDPARTY:BOOL=ON -DCMAKE_INSTALL_PREFIX:path="%USERPROFILE%" -DCMAKE_LIBRARY_PATH:path="%USERPROFILE%" -DCMAKE_INCLUDE_PATH:path="%USERPROFILE%\include" ..

其中%USERPROFILE%可以替换成自己的路径(实测并不会有什么文件生成进去,所以bool=on后其实可以不要,但是要注意最后的空格+..),BUILD_THIRDPARTY:BOOL=ON是开启第三方库,无论第三方库(libpng,libtiff等)自己电脑中是否存在,先开启了。

cmake完后build文件夹下便会出现OPENJPEG.sln工程文件。在windows环境下,不需要生成Makefiles文件,直接通过VS 2013打开.sln工程文件编译生成.exe就好。

在安装过程中会出现几个第三方库missing的警告,但是仍然可以配置成功,只是不能压缩png、tiff格式的图片文件了。

在这里也希望能集思广益,解压OpenJPEG后有thirdparty文件夹,但是单独cmake这些自带的第三方库后,再cmake OpenJpeg仍然会missing;后来我想到是否可以自己在网上下载好第三方库得到lib文件后加入到cmake完之后的OPENJPEG.sln工程中,但是也失败了,并且安装libtiff时极度痛苦,网上的教程一般是下图所示:

但是会各种报错,事实上在没有安装jpeg库下,不止需要更改/*#undef JPEG_SUPPORT*/,还需要更改/* #undef OJPEG_SUPPORT*/,给上链接:https://blog.csdn.net/u012176176/article/details/51201978,安装libtiff成功后截图如下:

说了这么多,依旧加不进去第三方库。。。所以大家有妙招的还请留言。

接下来是.sln工程文件的一些细小配置了。

工程项目还是很清晰的。生成项目会在build文件夹上一层的bin文件夹中的Debug或Release文件夹中生成.exe文件。对于F5调试,需要进行如下配置:

首先将opj_compress设为启动项,否则调试时会报ALL_BUILD不存在的错,接下来对于Debug和Release,分别做如下配置:

Debug:

1. 配置属性->调试->命令参数:-i yourfile.raw -o youfile_encode.j2k -F 12000,5000,3,8,u    (对于raw文件需要-F,bmp不需要,可以参考OpenJPEG用法文档)

2. 配置属性->调试->工作目录:D:/openjpeg/openjpeg-2.3.0/build/bin/Debug/    (路径视情况而定,如果写相对路径不要写错)

3. 配置属性->C++->常规->调试信息格式:用于“编辑并继续”的程序数据库 (/ZI)

4. 配置属性->C++->优化->优化:已禁用 (/Od)

5. 链接器->调试->生成调试信息:是 (/DEBUG)

Release:

1. 配置属性->调试->命令参数:-i yourfile.raw -o youfile_encode.j2k -F 12000,5000,3,8,u    (对于raw文件需要-F,bmp不需要,可以参考OpenJPEG用法文档)

2. 配置属性->调试->工作目录:D:/openjpeg/openjpeg-2.3.0/build/bin/Release/    (路径视情况而定,如果写相对路径不要写错)

3. 配置属性->C++->常规->调试信息格式:程序数据库 (/Zi)

4. 配置属性->C++->优化->优化:已禁用 (/Od)

5. 链接器->调试->生成调试信息:是 (/DEBUG)

至此,OpenJPEG在windows+VS 2013下的配置已经全部完毕,唯一留有遗憾的就是第三方库的添加,等待完善。
附上OpenJPEG使用文档:

https://github.com/uclouvain/openjpeg/wiki/DocJ2KCodec

【视频/图像编解码】OpenJPEG在windows 10+VS 2013下的环境配置相关推荐

  1. ffmpeg / avconv是通用的视频/音频编解码命令行工具

    转载自:http://blog.openlg.net/index.php/archives/767 ffmpeg / avconv是通用的视频/音频编解码命令行工具. 通用是既指他们可以处理各种各样的 ...

  2. iOS8系统H264视频硬件编解码说明

    iOS8系统H264视频硬件编解码说明 转载自:http://www.tallmantech.com/archives/206#more-206 公司项目原因,接触了一下视频流H264的编解码知识,之 ...

  3. iOS系统H264视频硬件编解码说明

    公司项目原因,接触了一下视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和解码,俗称为软编软解.该方法比较通用,但是占用CPU资源,编解码效率不高.一般系统都会 ...

  4. Skia深入分析6——skia中图像编解码代码概述

    1.API和自注册机制 Skia中编码解码图片都只需要一行代码: SkBitmap bitmap; SkImageDecoder::DecodeFile("test.xxx", & ...

  5. 嵌入式Linux下基于FFmpeg的视频硬件编解码[图]

    转自:http://tech.c114.net/167/a674033.html 摘要: 对FFmpeg多媒体解决方案中的视频编解码流程进行研究.结合对S3C6410处理器视频硬件编解码方法的分析,阐 ...

  6. 嵌入式Linux下基于FFmpeg的视频硬件编解码

    嵌入式Linux下基于FFmpeg的视频硬件编解码[图] http://www.c114.net ( 2012/3/1 15:41 ) 摘要: 对FFmpeg多媒体解决方案中的视频编解码流程进行研究. ...

  7. mysql数据库解压安装教程_MySQL数据库之windows 10下解压版MySql安装配置方法教程...

    本文主要向大家介绍了MySQL数据库之windows 10下解压版MySql安装配置方法教程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. windows 10 下安装解压版的 ...

  8. Windows 10下载安装openjdk及环境变量配置(以openjdk 8为例)

    Windows 10下载安装openjdk及环境变量配置(以openjdk 8为例) Windows 10下载安装openjdk及环境变量配置 下载地址 https://www.azul.com/do ...

  9. 如何在 Windows 10 中搭建 Node.js 环境?

    2019独角兽企业重金招聘Python工程师标准>>> [编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js ...

最新文章

  1. 点云学习在自动驾驶中的研究概述
  2. 重新拾起ActionScript,物已是人已非--浅谈软件之美
  3. mycat和MySQL版本兼容_mycat下mysql jdbc connector使用高版本报PacketTooBigException异常
  4. 用 JavaScript 编写测试脚本
  5. 【SSH三个框架】Hibernate第八部分基础:经营-many关系
  6. python 消息队列 sqlite_sqlite 数据存储 消息队列
  7. 通过实战跑分来展示HBase2.x的写入性能
  8. Git:查看所有远程分支以及同步远程代码
  9. [Curator] Barrier 的使用与分析
  10. Linux网络配置与远程连接
  11. Burp Suite详细使用教程-Intruder模块详3
  12. amd核芯显卡控制面板自定义分辨率_电脑显示器分辨率超频教程:1080P超2K分辨率的方法...
  13. 大学生搜题软件哪个好?2020搜题软件排行榜
  14. 计算机组成原理选择题题库
  15. struggle for English college test band 6
  16. 海马苹果助手ipad版_不惧掉签 | 苹果IPA安装包,免费自签教程
  17. Android开发周报:Android Studio2.0发布、Activity动态创建
  18. win7计算机里没有网络图标,Win7网络图标不见了怎么办?Win7系统找回网络图标的方法...
  19. js计算当前时间的为年的第几周,以及周对应的时间范围
  20. cie规定的标准光源_标准光源的定义(精)

热门文章

  1. 自然语言的机器翻译 ai_我如何使用AI翻译500种语言的“洗手”
  2. 硕士论文中期汇报ppt_研知|中期怎么办?不慌!
  3. Word设置页码你真的会了吗?如何从第二页开始开始设置页码为第一页,收藏备用!
  4. kingston DT 101 G2量产失败不是盘解决办法
  5. python爬虫——用Scrapy框架爬取阳光电影的所有电影
  6. Python最强IDE(PyCharm)安装教程
  7. 雅思备考笔记—阅读篇(PART1)
  8. java 数组转换成String方法
  9. 农村单一姓氏村庄的成因分析
  10. 下载软件 (三) openocd-windows