[英]#include C++ header files in opencv
我只是用
#include <opencv2/opencv.hpp>
事情很有效。 我可以问为什么我们应该这样做:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/highgui/highgui.hpp>
为什么这里是* .hpp文件而不是* .h文件?
请原谅我提出这么简单的问题。
.hpp
是C ++语言头文件的约定 。 由于OpenCV有一个与C ++并行的C API的长篇故事,人们可以很容易地理解为什么编写库的人选择了这个扩展来避免混淆 。
对于全局与小型包含问题,您需要回忆起C / C ++中的工作原理。 在编译之前, 头文件只是复制到.c文件中。
opencv.hpp
(它包含所有其他包含的某种伞)时,所有的库头文件都被包含在内并因此被复制到你的.cpp文件中。 这意味着您可以减少输入,但最终会为编译器提供更大的文件。 因此, 编译时间更长 。 -lopencv_core -lopencv_imgproc
。 #include <opencv2/opencv.hpp>
此头文件包含其正文中OpenCV中的所有其他头文件。 因此,如果您包含该文件,则绰绰有余。
“ .h”代表C,“。 hpp”代表C ++。 这只是标准。
只需打开opencv2 / opencv.hpp文件,我想你会得到答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.