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 命名空间,以免产生命名空间之间的冲突。
原文地址:https://www.cnblogs.com/ghjnwk/p/11246914.html