>> setenv('MW_MINGW64_LOC','D:\mingw64')
>> mex -setup -v
找到已安装的编译器 'MinGW64 Compiler (C)'。
MEX 配置为使用 'MinGW64 Compiler (C)' 以进行 C 语言编译。
警告: MATLAB C 和 Fortran API 已更改,现可支持
包含 2^32-1 个以上元素的 MATLAB 变量。您需要
更新代码以利用新的 API。
您可以在以下网址找到更多的相关信息:
https://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
要选择不同的语言,请从以下选项中选择一种命令:
mex -setup C++
mex -setup FORTRAN
转至 MEX文件夹,运行compilePyrTools.m
将编译生成的文件粘贴至MEX父目录(即工具包目录)中(覆盖其中已存在的文件)再次调用vifvec或ifcvec,(由于印象中代码有个type-error)根据报错内容,修改相关函数。(有一行代码调用了一个.m文件,但由于有一个字母大小写拼错了,matlab找不到该文件。直接改那行代码即可。)
>> mex upConv.c
使用 'MinGW64 Compiler (C)' 编译。
警告: 您使用的是不受支持的 MinGW 编译器版本。要安装支持的 MinGW 编译器版本,请参阅: 安装 MinGW-w64
编译器。
有关当前支持的编译器的列表,请访问 https://www.mathworks.com/support/compilers。
安装到了最老的5.4版本还是会显示“不受支持的MinGW编译器版本”,但其实并不影响使用
GitHub - utlive/VIFhttps://github.com/utlive/VIF
Prerequisites: The Steerable Pyramid toolbox. Available at http://www.cns.nyu.edu/~lcv/software.html Input : (1) img1: The reference image as a matrix (2) img2: The distorted image (order is important) Output: (1) VIF the visual information fidelity measure between the two images Default Usage: Given 2 test images img1 and img2, whose dynamic range is 0-255 vif = vifvec(img1, img2);
想用VIF函数总是会报错,把彩色图像改成灰色图像就好了