75 OpenCV编译、图像处理等
0 引言
记录图像处理的一些经验和使用OpenCV 等库的注意事项。
1 opencv中的坐标系
一图以蔽之~
2 opencv 3.4.0 + opencv_contrib + qt编译
主要参考了这两个帖子,编译时把vtk去掉
https://blog.csdn.net/zy499/article/details/82952229 https://blog.csdn.net/weijifen000/article/details/93377143
要点如下:
(1)FFMPEG文件和IPPICV文件下载失败,打开 ../build/CMakeDownloadLog.txt文件,找到对应文件的下载链接并下载,修改文件名为指定文件名,然后拷贝到对应的位置。
(2)configure了第一波后,在search对话框中输入OPENCV_EXTRA_MODULES_PATH,并填入opencv_contrib目录中的modules路径。
(3)如果 opencv_xfeatures2d340d.lib 不见了,导致sift等算子不能用,检查一下是不是configure的时候有文件下载失败了。
具体对应的文件是:
(4)还有一个代码方面的问题如下:报错信息是
../stringutils.cpp(255): error C2001: 常量中有换行符
# 对应的代码是255行附近, u8"…",这里是中文字符,导致编译出错
解决方案是:
vs文件-》高级保存选项-》将编码由"Uncode (UTF-8 无签名) - 代码页65001"
换成"Uncode (UTF-8 带签名) - 代码页65001"
,点击确定后,Ctrl+s保存文件后再次编译即可。
4 bug
(1)error C2872: “ACCESS_MASK”: 不明确的符号
原因:opencv3.0或者3.1的using namespace cv和windows.h中ACCESS_MASK定义冲突。 解决方案:注释掉所有的using namespace cv,然后在需要的地方写上cv::。 以后写C++&opencv程序时,尽量不用using namespace 命名空间,以免产生命名空间之间的冲突。