编译图像质量分析库iqa
介绍
iqa库是我在GitHub上偶然发现的一个具有MSE, PSNR, SSIM, MS-SSIM等图像质量分析算法的库,觉得还不错,就把它下载下来编译,编译后生成静态的库。以下是我总结的编译方法。不过,这个库是没有牵涉到OpenCV的,所以具体读取图像的方法还有待研究(好像是直接读取数组),以后会写一篇文章讲解一下怎么使用这个库。
下载源文件
首先从GitHub上下载源码Image Quality Analysis Library

点击“Clone & Download”,“Download ZIP”,下载到本地
解压和编译
github上给出的编译方法如下:
BUILD:
All build artifacts end up in build/, where is
'debug' or 'release'.Windows:
- Open iqa.sln, select 'Debug' or 'Release', and build. The output is a
static library 'iqa.lib'.- To run the tests under the debugger, first right-click the 'test' project,
select Properties -> Configuration Properties -> Debugging and set
'Working Directory' to '$(OutDir)'. Then start the application.

解压zip文件到指定的文件夹,点击生成的文件夹下的“.sin”文件,打开

会提示你要单向升级,点击“确定”。此时会弹出网页版的迁移报告,忽略即可

打开解决方案之后,右键点击“解决方案资源管理器”的“iqa”,选择“重定向解决方案目标”,然后点击“确定”

然后右键点击“解决方案资源管理器”-->“生成”,即可生成debug的lib(如果修改解决方案配置为“Release x64”可以生成release的lib)。lib存放在解决方案目录的build\debug文件夹下

测试
右键点击“解决方案资源管理器”的“test”,选择“重定向解决方案目标”,然后点击“确定”
右键点击工具栏项目属性>调试>工作目录,将其中的内容修改为“$(OutDir)”(如果直接点击“解决方案资源管理器”的项目test,记得在弹出的窗口中确定是不是当前的配置方案,比如Debug x64)

如果直接点击生成的话,编译器会报错

解决报错的方法是:选中工具栏的项目,右键选择属性>配置属性>生成事件>生成后事件,选择“否”

以上修改都完成之后,点击“开始执行(不调试)”,即可测试库
(如果出现FAILED,则说明没有将图片放到指定位置,可将resources文件夹下的图片拷贝到iqa-master\build\debug(/release)下)

编译图像质量分析库iqa的更多相关文章
- jrtplib源码分析 第一篇 jthread的编译与分析
第一篇 jthread的编译与分析 jrtplib代码依赖库jthread,因此先从jthread开始jrtplib的学习.首先从以下链接下载jthread的源代码http://research.ed ...
- 烂泥:centos单独编译安装gd库
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没 ...
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...
- Linux下编译安装PCRE库
备注:如果没有root权限,使用 --prefix 指定安装路径 ./configure --prefix=/home/work/tools/pcre-8.xx =================== ...
- 【转】编译quickfast解析库(沪深level2行情转码库)
转自http://blog.csdn.net/hacode/article/details/7065889 编译quickfast解析库(沪深level2行情转码库) 目录(?)[-] 1 下载源代 ...
- App开发流程之数据持久化和编译静态链接库
先记录数据持久化. iOS客户端提供的常用数据持久化方案:NSUserDefaults代表的用户设置,NSKeydArchiver代表的归档,plist文件存储,SQLite数据库(包括上层使用的Co ...
- [ZZ] 在windows上编译Mesa3d opengl32库
在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...
- Linux下编译使用boost库:
Boost是什么不多说, 下面说说怎样在Linux下编译使用Boost的所有模块. 1. 先去Boost官网下载最新的Boost版本, 我下载的是boost_1_56_0版本, 解压. 2. 进入解压 ...
- windows android studio 编译Jni动态库
项目需要,折腾了半天搞定windows android studio环境编译Jni动态库,现记录下来. 准备安装环境: 1. android studio 下载地址是http://www.androi ...
随机推荐
- selenium3 下载、配置
s1-s3发展历程 : http://www.cnblogs.com/hhudaqiang/p/6550135.html 官网地址:http://www.seleniumhq.org/文档:http ...
- oracle的约束隐式创建索引和先索引后约束的区别
oracle的约束隐式创建索引和先索引后约束的区别 两种情况:1.对于创建约束时隐式创建的索引,在做删除操作的时候: 9i~11g都会连带删除该索引 2.对于先创建索引,再创建约束(使用到此索引)这种 ...
- Redhat Cluster Suite原理介绍
RedHat Cluster Suite简称RHCS,是一个能够提供高可用性.高可靠性.负载均衡.存储共享且经济廉价的集群工具集合,基于RHCS可以搭建高可用性集群.负载均衡集群.存储集群和高性能 ...
- CloudStack 安装时需要的第三方包
1.mysql-connector-java 2.jakarta-commons-daemon-jsvc 3.jsvc rpm -ivh cloudstack-common-4.1.1-0.el6 ...
- [C++] Lvalue and Rvalue Reference
Lvalue and Rvalue Reference int a = 10;// a is in stack int& ra = a; // 左值引用 int* && pa ...
- 修改apache的默认访问路径
- InteliJ中文乱码;IDE快捷键使用
启动服务器的时候出现如图 解决方法: 对服务器的位置进行编辑 增加如图的信息 -Dfile.encoding=UTF-8
- 最详尽的IntelliJ IDEA项目web项目搭建!!!!!!
一.创建一个web项目(首次创建最麻烦) 1.保证安装好软件 2.双击打开软件-->新建一个项目 3.web项目选择如图,先建立一个空的项目空间来放置你的项目,这是一个区别 相当于myeclip ...
- 使用#include消除重复代码
消除重复代码代码很多种,比如: 1)提炼成函数复用 2)使用宏 3)继承 4)使用闭包(boost::bind.boost::function) 上述是最为常用的,对于C++程序,闭包可能用得相对少一 ...
- 编写高质量代码改善C#程序的157个建议——建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内
建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内 如果需要在循环中引发异常,你需要特别注意,应为抛出异常是一个相当影响性能的过程.应该尽量在循环当中对异常发生的一些条 ...