【视频/图像编解码】OpenJPEG在windows 10+VS 2013下的环境配置
因项目需要,需要在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)
https://github.com/uclouvain/openjpeg/wiki/DocJ2KCodec
【视频/图像编解码】OpenJPEG在windows 10+VS 2013下的环境配置相关推荐
- ffmpeg / avconv是通用的视频/音频编解码命令行工具
转载自:http://blog.openlg.net/index.php/archives/767 ffmpeg / avconv是通用的视频/音频编解码命令行工具. 通用是既指他们可以处理各种各样的 ...
- iOS8系统H264视频硬件编解码说明
iOS8系统H264视频硬件编解码说明 转载自:http://www.tallmantech.com/archives/206#more-206 公司项目原因,接触了一下视频流H264的编解码知识,之 ...
- iOS系统H264视频硬件编解码说明
公司项目原因,接触了一下视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和解码,俗称为软编软解.该方法比较通用,但是占用CPU资源,编解码效率不高.一般系统都会 ...
- Skia深入分析6——skia中图像编解码代码概述
1.API和自注册机制 Skia中编码解码图片都只需要一行代码: SkBitmap bitmap; SkImageDecoder::DecodeFile("test.xxx", & ...
- 嵌入式Linux下基于FFmpeg的视频硬件编解码[图]
转自:http://tech.c114.net/167/a674033.html 摘要: 对FFmpeg多媒体解决方案中的视频编解码流程进行研究.结合对S3C6410处理器视频硬件编解码方法的分析,阐 ...
- 嵌入式Linux下基于FFmpeg的视频硬件编解码
嵌入式Linux下基于FFmpeg的视频硬件编解码[图] http://www.c114.net ( 2012/3/1 15:41 ) 摘要: 对FFmpeg多媒体解决方案中的视频编解码流程进行研究. ...
- mysql数据库解压安装教程_MySQL数据库之windows 10下解压版MySql安装配置方法教程...
本文主要向大家介绍了MySQL数据库之windows 10下解压版MySql安装配置方法教程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. windows 10 下安装解压版的 ...
- Windows 10下载安装openjdk及环境变量配置(以openjdk 8为例)
Windows 10下载安装openjdk及环境变量配置(以openjdk 8为例) Windows 10下载安装openjdk及环境变量配置 下载地址 https://www.azul.com/do ...
- 如何在 Windows 10 中搭建 Node.js 环境?
2019独角兽企业重金招聘Python工程师标准>>> [编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js ...
最新文章
- 点云学习在自动驾驶中的研究概述
- 重新拾起ActionScript,物已是人已非--浅谈软件之美
- mycat和MySQL版本兼容_mycat下mysql jdbc connector使用高版本报PacketTooBigException异常
- 用 JavaScript 编写测试脚本
- 【SSH三个框架】Hibernate第八部分基础:经营-many关系
- python 消息队列 sqlite_sqlite 数据存储 消息队列
- 通过实战跑分来展示HBase2.x的写入性能
- Git:查看所有远程分支以及同步远程代码
- [Curator] Barrier 的使用与分析
- Linux网络配置与远程连接
- Burp Suite详细使用教程-Intruder模块详3
- amd核芯显卡控制面板自定义分辨率_电脑显示器分辨率超频教程:1080P超2K分辨率的方法...
- 大学生搜题软件哪个好?2020搜题软件排行榜
- 计算机组成原理选择题题库
- struggle for English college test band 6
- 海马苹果助手ipad版_不惧掉签 | 苹果IPA安装包,免费自签教程
- Android开发周报:Android Studio2.0发布、Activity动态创建
- win7计算机里没有网络图标,Win7网络图标不见了怎么办?Win7系统找回网络图标的方法...
- js计算当前时间的为年的第几周,以及周对应的时间范围
- cie规定的标准光源_标准光源的定义(精)
热门文章
- 自然语言的机器翻译 ai_我如何使用AI翻译500种语言的“洗手”
- 硕士论文中期汇报ppt_研知|中期怎么办?不慌!
- Word设置页码你真的会了吗?如何从第二页开始开始设置页码为第一页,收藏备用!
- kingston DT 101 G2量产失败不是盘解决办法
- python爬虫——用Scrapy框架爬取阳光电影的所有电影
- Python最强IDE(PyCharm)安装教程
- 雅思备考笔记—阅读篇(PART1)
- java 数组转换成String方法
- 农村单一姓氏村庄的成因分析
- 下载软件 (三) openocd-windows