介绍

  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的更多相关文章

  1. jrtplib源码分析 第一篇 jthread的编译与分析

    第一篇 jthread的编译与分析 jrtplib代码依赖库jthread,因此先从jthread开始jrtplib的学习.首先从以下链接下载jthread的源代码http://research.ed ...

  2. 烂泥:centos单独编译安装gd库

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没 ...

  3. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  4. Linux下编译安装PCRE库

    备注:如果没有root权限,使用 --prefix 指定安装路径 ./configure --prefix=/home/work/tools/pcre-8.xx =================== ...

  5. 【转】编译quickfast解析库(沪深level2行情转码库)

     转自http://blog.csdn.net/hacode/article/details/7065889 编译quickfast解析库(沪深level2行情转码库) 目录(?)[-] 1 下载源代 ...

  6. App开发流程之数据持久化和编译静态链接库

    先记录数据持久化. iOS客户端提供的常用数据持久化方案:NSUserDefaults代表的用户设置,NSKeydArchiver代表的归档,plist文件存储,SQLite数据库(包括上层使用的Co ...

  7. [ZZ] 在windows上编译Mesa3d opengl32库

    在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...

  8. Linux下编译使用boost库:

    Boost是什么不多说, 下面说说怎样在Linux下编译使用Boost的所有模块. 1. 先去Boost官网下载最新的Boost版本, 我下载的是boost_1_56_0版本, 解压. 2. 进入解压 ...

  9. windows android studio 编译Jni动态库

    项目需要,折腾了半天搞定windows android studio环境编译Jni动态库,现记录下来. 准备安装环境: 1. android studio 下载地址是http://www.androi ...

随机推荐

  1. selenium3 下载、配置

    s1-s3发展历程  : http://www.cnblogs.com/hhudaqiang/p/6550135.html 官网地址:http://www.seleniumhq.org/文档:http ...

  2. oracle的约束隐式创建索引和先索引后约束的区别

    oracle的约束隐式创建索引和先索引后约束的区别 两种情况:1.对于创建约束时隐式创建的索引,在做删除操作的时候: 9i~11g都会连带删除该索引 2.对于先创建索引,再创建约束(使用到此索引)这种 ...

  3. Redhat Cluster Suite原理介绍

      RedHat Cluster Suite简称RHCS,是一个能够提供高可用性.高可靠性.负载均衡.存储共享且经济廉价的集群工具集合,基于RHCS可以搭建高可用性集群.负载均衡集群.存储集群和高性能 ...

  4. CloudStack 安装时需要的第三方包

    1.mysql-connector-java 2.jakarta-commons-daemon-jsvc 3.jsvc   rpm -ivh cloudstack-common-4.1.1-0.el6 ...

  5. [C++] Lvalue and Rvalue Reference

    Lvalue and Rvalue Reference int a = 10;// a is in stack int& ra = a; // 左值引用 int* && pa ...

  6. 修改apache的默认访问路径

  7. InteliJ中文乱码;IDE快捷键使用

    启动服务器的时候出现如图 解决方法: 对服务器的位置进行编辑 增加如图的信息 -Dfile.encoding=UTF-8

  8. 最详尽的IntelliJ IDEA项目web项目搭建!!!!!!

    一.创建一个web项目(首次创建最麻烦) 1.保证安装好软件 2.双击打开软件-->新建一个项目 3.web项目选择如图,先建立一个空的项目空间来放置你的项目,这是一个区别 相当于myeclip ...

  9. 使用#include消除重复代码

    消除重复代码代码很多种,比如: 1)提炼成函数复用 2)使用宏 3)继承 4)使用闭包(boost::bind.boost::function) 上述是最为常用的,对于C++程序,闭包可能用得相对少一 ...

  10. 编写高质量代码改善C#程序的157个建议——建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内

    建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内 如果需要在循环中引发异常,你需要特别注意,应为抛出异常是一个相当影响性能的过程.应该尽量在循环当中对异常发生的一些条 ...