我的安装环境如下:
Visual Studio 2015
Windows 7旗舰版 Service Pack 1
运行如下代码:
#include "stdafx.h"
#include "core/core.hpp"
#include "imgproc/imgproc.hpp"
#include "highgui/highgui.hpp"
#include <iostream>
#include<ctime>
using namespace std;
using namespace cv;
int main()
{
char* file = "D:\\CVImage\\N1B.bmp";
std::string strtemp(file);
Mat temImage = imread(strtemp, IMREAD_GRAYSCALE);
clock_t start, end;
start = clock();
// 运行Canny算子
Mat edge;
Canny(temImage, edge, 100, 200);
imwrite("D:\\Test\\edge.bmp", edge);
end = clock();
double ts = (double)(end - start) / CLOCKS_PER_SEC; // ms
cout << ts << endl;
namedWindow("In", 1);
imshow("In", temImage);
namedWindow("edge", 1);
imshow("edge", edge);
waitKey();
return 0;
}
能正常做边缘查找及存图。
在其他两台软件配置如下的计算机上:
Visual Studio 2015
Windows 7专业版 Service Pack 1
运行程序时出现如下错误:
无法启动此程序,因为计算机中丢失api-ms-win-downlevel-shlwapi-l1-1-0.dll
尝试重新安装该程序以解决此问题。
解决方案如下:
step1.下载 api-ms-win-downlevel-shlwapi-l1-1-0.dll,解压会得到同时包含32位和64位的dll文件
step2.复制32位的dll文件到到 C:\Windows\SysWOW64路径与C:\Windows\system32下
step3.在C:\Windows\SysWOW64路径下建立register_cv.bat文件,内容如下:
@echo 开始注册
copy api-ms-win-downlevel-shlwapi-l1-1-0.dll %windir%\system32\
regsvr32 %windir%\system32\api-ms-win-downlevel-shlwapi-l1-1-0.dll /s
@echo api-ms-win-downlevel-shlwapi-l1-1-0.dll注册成功
@pause
以管理员身份运行register_cv.bat
如果命令栏中出现api-ms-win-downlevel-shlwapi-l1-1-0.dll注册成功信息,即完成。以此为记。