介绍

  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. 保持在Div 底部的方法

    <!DOCTYPE> <html> <head> <meta http-equiv="content-type" content=&quo ...

  2. scala的隐式转换

    摘要: 通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码.   使用方式: 1. ...

  3. RenderPage()加载局部页和传递数据

    System.Web.WebPages.WebPageBase类的方法public override HelperResult RenderPage(string path, params objec ...

  4. HDU 6162 Ch’s gift (线段树+树链剖分)

    题意:给定上一棵树,每个树的结点有一个权值,有 m 个询问,每次询问 s, t ,  a, b,问你从 s 到 t 这条路上,权值在 a 和 b 之间的和.(闭区间). 析:很明显的树链剖分,但是要用 ...

  5. Linux下oracle定时备份

    1. 设置数据库空表可导出(oracel11g) 用PL/SQL登录数据库(或者其他工具) 执行: select 'alter table '||table_name||' allocate exte ...

  6. Java 栈与堆简介

    一.前言 长久以来,一直被Java的内存分配问题,堆和栈问题困扰好久,面试的时候也非常心虚,这几天好好通过看书和技术博客来整理了一下,希望能找到我自己的理解方式. 二.内存 内存分物理内存和虚拟内存, ...

  7. 编写高质量代码改善C#程序的157个建议——建议92:谨慎将数组或集合作为属性

    建议92:谨慎将数组或集合作为属性 数组或集合作为属性会引起这样一个问题:如果属性是只读的,我们通常会认为它是不可用改变的,但如果将只读属性应用于数座或集合,而元素的内容和数量却仍旧可以随意改变.如下 ...

  8. 用阿里巴巴官方给Jmeter开发的Dubbo sampler取样器进行dubbo接口测试【图解剖析】

    自:https://blog.csdn.net/cyjs1988/article/details/84258046 [一]Dubbo sampler下载地址: 该插件支持jmeter 3.2及3.2以 ...

  9. MAX6675操作源码--K型热电偶模数转换器

    #define P_TENB PF4_OUT #define P_TSLK PA3_OUT #define P_TDAT PB2_IN //****************************** ...

  10. Mac上修改MySQL默认字符集为utf8

    1.检查默认安装的mysql的字符集 mysql> show variables like '%char%'; +--------------------------+------------- ...