我只是用
#include <opencv2/opencv.hpp>
Run Code Online (Sandbox Code Playgroud)
事情很有效.我可以问为什么我们应该这样做:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/highgui/highgui.hpp>
Run Code Online (Sandbox Code Playgroud)
为什么这里是*.hpp文件而不是*.h文件?
请原谅我提出这么简单的问题.
san*_*iso 27
.hpp
是C++语言头文件的约定.由于OpenCV有一个与C++并行的C API的长篇故事,人们可以很容易地理解为什么编写库的人选择了这个扩展来避免混淆.
对于全局与小型包含问题,您需要回忆起C/C++中的工作原理.在编译之前,头文件只是复制到.c文件中.
opencv.hpp
(由于它包含所有其他包含的某种类型的伞)时,所有库头文件都包含在内并因此被复制到.cpp文件中.这意味着您可以减少输入,但最终会为编译器提供更大的文件.因此,编译时间更长.-lopencv_core -lopencv_imgproc
如果您仅使用图像处理模块.#include <opencv2/opencv.hpp>
Run Code Online (Sandbox Code Playgroud)
该头文件在其主体中包括OpenCV中的所有其他头文件。因此,如果包含该文件,那就绰绰有余了。
“ .h”用于C,“。 hpp”用于C ++。这只是标准。
归档时间: |
|
查看次数: |
50507 次 |
最近记录: |