[英]#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.