NLmeans(2)——IPOL NLmeans vs2013环境配置

参考网址:VS2012上的IPOL上的non-local means源程序 


1. 下载libpng和zlib并配置

http://www.libpng.org/pub/png/libpng.html libpng1637要求zlib至少要1.0.4

  • 3.编译libpng的库

用vscode打开zlib.props,然后修改路径即可。同时要修改vs2013平台,因为源代码是vc2010平台。然后用release win32编译。就成功了。

https://blog.csdn.net/gxiaoyaya/article/details/64919852

2. 建立NLmeans的工程,然后添加库

1、在属性-C/C++-常规-附加库包含目录添加

 2、项目包含lib文件所在目录

属性--链接器--常规--附加库目录

..\lpng1637\projects\vstudio\Debug

添加lib文件

属性--链接器--输入--附加依赖项(libpngd.lib zlib.lib)

3、 其实解决这个问题的方法并不难,把unistd.h放在当前项目的文件夹下,且用"" include

出现'M_PI' : undeclared identifier。在  在libauxiliar.h这个头文件中加入

#define _USE_MATH_DEFINES       这个宏定义,就OK。这个define要加在#include <cmath>之前

[无法解决] 只要在你的默认库文件夹下(例如D:\Program Files\Microsoft Visual Studio\VC\INCLUDE\)添加一个unistd.h文件即可,其内容如下:

#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif /* _UNISTD_H */

4、getid()改为_getid()

5、fopen不安全,在C++/预编译头中加入:_CRT_SECURE_NO_WARNINGS

6、缺少libpng.lib和zlib.lib

原因是:附加项写在了一行,应该写两行。且文件是在debug下面的,在属性--链接器--常规--附加库目录加入了Debug的目录了,所以在属性--链接器--输入--附加依赖项输入(libpng16.lib zlib.lib),分两行写入

7、 这是因为在这个工程里面有三个main函数,由于我们这里只是为了使用NLM进行去噪,所以img_diff_ipol.cpp和img_mse_ipol.cpp这两个文件我们可以暂时先从当前工程中删除掉, 然后再编译,就成功了!!

3. VS2013 VS2015应用程序无法正常启动0xc000007b。

https://blog.csdn.net/u010205478/article/details/88682932 

NLmeans.exe的位置不对。找到位置所在

然后将libpng16.dll复制到exe所在位置,所以都是缺失了dll导致的。就成功了!!!

4、找不到图像

默认读图路径在工程所在的地方。默认的输出也在这个地方。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值