Firstly we installed opencv by compiling it form its source and libraries installed in /usr/local/lib
. We could show the files in this directory by la /usr/local/lib | grep libopencv
then it shows:
libopencv_calib3d.so
libopencv_calib3d.so.4.1
libopencv_calib3d.so.4.1.2
libopencv_core.so
libopencv_core.so.4.1
libopencv_core.so.4.1.2
libopencv_dnn.so
libopencv_dnn.so.4.1
libopencv_dnn.so.4.1.2
libopencv_features2d.so
libopencv_features2d.so.4.1
libopencv_features2d.so.4.1.2
libopencv_flann.so
libopencv_flann.so.4.1
libopencv_flann.so.4.1.2
libopencv_gapi.so
libopencv_gapi.so.4.1
libopencv_gapi.so.4.1.2
libopencv_highgui.so
libopencv_highgui.so.4.1
libopencv_highgui.so.4.1.2
libopencv_imgcodecs.so
libopencv_imgcodecs.so.4.1
libopencv_imgcodecs.so.4.1.2
libopencv_imgproc.so
libopencv_imgproc.so.4.1
libopencv_imgproc.so.4.1.2
libopencv_ml.so
libopencv_ml.so.4.1
libopencv_ml.so.4.1.2
libopencv_objdetect.so
libopencv_objdetect.so.4.1
libopencv_objdetect.so.4.1.2
libopencv_photo.so
libopencv_photo.so.4.1
libopencv_photo.so.4.1.2
libopencv_stitching.so
libopencv_stitching.so.4.1
libopencv_stitching.so.4.1.2
libopencv_videoio.so
libopencv_videoio.so.4.1
libopencv_videoio.so.4.1.2
libopencv_video.so
libopencv_video.so.4.1
libopencv_video.so.4.1.2
Definitely we refer and use libopencv_*.so
by default in Qt Creator. Then take a look in /usr/local/include
by tree /usr/local/include -d
because successfully compiling your code requires the necessarily header file. Command tree
could be installed by sudo apt-get install tree -y
.
/usr/local/include
└── opencv4
└── opencv2
├── calib3d
├── core
│ ├── cuda
│ │ └── detail
│ ├── detail
│ ├── hal
│ ├── opencl
│ │ └── runtime
│ │ └── autogenerated
│ └── utils
├── dnn
│ └── utils
├── features2d
│ └── hal
├── flann
├── gapi
│ ├── cpu
│ ├── fluid
│ ├── gpu
│ ├── infer
│ ├── ocl
│ ├── own
│ ├── streaming
│ └── util
├── highgui
├── imgcodecs
│ └── legacy
├── imgproc
│ ├── detail
│ └── hal
├── ml
├── objdetect
├── photo
│ └── legacy
├── stitching
│ └── detail
├── video
│ └── legacy
└── videoio
└── legacy
42 directories
The header files of opencv we used by #include <opencv.hpp>
is stored in /usr/local/include/opencv4/opencv2
by tree /usr/local/include/opencv4/opencv2
:
/usr/local/include/opencv4/opencv2
├── calib3d
│ ├── calib3d_c.h
│ └── calib3d.hpp
├── calib3d.hpp
├── core
│ ├── affine.hpp
│ ├── async.hpp
│ ├── base.hpp
│ ├── bindings_utils.hpp
│ ├── bufferpool.hpp
│ ├── check.hpp
│ ├── core_c.h
│ ├── core.hpp
│ ├── cuda
│ │ ├── block.hpp
│ │ ├── border_interpolate.hpp
│ │ ├── color.hpp
│ │ ├── common.hpp
│ │ ├── datamov_utils.hpp
│ │ ├── detail
│ │ │ ├── color_detail.hpp
│ │ │ ├── reduce.hpp
│ │ │ ├── reduce_key_val.hpp
│ │ │ ├── transform_detail.hpp
│ │ │ ├── type_traits_detail.hpp
│ │ │ └── vec_distance_detail.hpp
│ │ ├── dynamic_smem.hpp
│ │ ├── emulation.hpp
│ │ ├── filters.hpp
│ │ ├── funcattrib.hpp
│ │ ├── functional.hpp
│ │ ├── limits.hpp
│ │ ├── reduce.hpp
│ │ ├── saturate_cast.hpp
│ │ ├── scan.hpp
│ │ ├── simd_functions.hpp
│ │ ├── transform.hpp
│ │ ├── type_traits.hpp
│ │ ├── utility.hpp
│ │ ├── vec_distance.hpp
│ │ ├── vec_math.hpp
│ │ ├── vec_traits.hpp
│ │ ├── warp.hpp
│ │ ├── warp_reduce.hpp
│ │ └── warp_shuffle.hpp
│ ├── cuda.hpp
│ ├── cuda.inl.hpp
│ ├── cuda_stream_accessor.hpp
│ ├── cuda_types.hpp
│ ├── cv_cpu_dispatch.h
│ ├── cv_cpu_helper.h
│ ├── cvdef.h
│ ├── cvstd.hpp
│ ├── cvstd.inl.hpp
│ ├── cvstd_wrapper.hpp
│ ├── detail
│ │ ├── async_promise.hpp
│ │ └── exception_ptr.hpp
│ ├── directx.hpp
│ ├── eigen.hpp
│ ├── fast_math.hpp
│ ├── hal
│ │ ├── hal.hpp
│ │ ├── interface.h
│ │ ├── intrin_avx512.hpp
│ │ ├── intrin_avx.hpp
│ │ ├── intrin_cpp.hpp
│ │ ├── intrin_forward.hpp
│ │ ├── intrin.hpp
│ │ ├── intrin_msa.hpp
│ │ ├── intrin_neon.hpp
│ │ ├── intrin_sse_em.hpp
│ │ ├── intrin_sse.hpp
│ │ ├── intrin_vsx.hpp
│ │ ├── intrin_wasm.hpp
│ │ └── msa_macros.h
│ ├── mat.hpp
│ ├── mat.inl.hpp
│ ├── matx.hpp
│ ├── neon_utils.hpp
│ ├── ocl_genbase.hpp
│ ├── ocl.hpp
│ ├── opencl
│ │ ├── ocl_defs.hpp
│ │ ├── opencl_info.hpp
│ │ ├── opencl_svm.hpp
│ │ └── runtime
│ │ ├── autogenerated
│ │ │ ├── opencl_clamdblas.hpp
│ │ │ ├── opencl_clamdfft.hpp
│ │ │ ├── opencl_core.hpp
│ │ │ ├── opencl_core_wrappers.hpp
│ │ │ ├── opencl_gl.hpp
│ │ │ └── opencl_gl_wrappers.hpp
│ │ ├── opencl_clamdblas.hpp
│ │ ├── opencl_clamdfft.hpp
│ │ ├── opencl_core.hpp
│ │ ├── opencl_core_wrappers.hpp
│ │ ├── opencl_gl.hpp
│ │ ├── opencl_gl_wrappers.hpp
│ │ ├── opencl_svm_20.hpp
│ │ ├── opencl_svm_definitions.hpp
│ │ └── opencl_svm_hsa_extension.hpp
│ ├── opengl.hpp
│ ├── operations.hpp
│ ├── optim.hpp
│ ├── ovx.hpp
│ ├── persistence.hpp
│ ├── saturate.hpp
│ ├── simd_intrinsics.hpp
│ ├── softfloat.hpp
│ ├── sse_utils.hpp
│ ├── traits.hpp
│ ├── types_c.h
│ ├── types.hpp
│ ├── utility.hpp
│ ├── utils
│ │ ├── allocator_stats.hpp
│ │ ├── allocator_stats.impl.hpp
│ │ ├── filesystem.hpp
│ │ ├── logger.defines.hpp
│ │ ├── logger.hpp
│ │ ├── logtag.hpp
│ │ └── trace.hpp
│ ├── va_intel.hpp
│ ├── version.hpp
│ └── vsx_utils.hpp
├── core.hpp
├── cvconfig.h
├── dnn
│ ├── all_layers.hpp
│ ├── dict.hpp
│ ├── dnn.hpp
│ ├── dnn.inl.hpp
│ ├── layer.details.hpp
│ ├── layer.hpp
│ ├── shape_utils.hpp
│ ├── utils
│ │ └── inference_engine.hpp
│ └── version.hpp
├── dnn.hpp
├── features2d
│ ├── features2d.hpp
│ └── hal
│ └── interface.h
├── features2d.hpp
├── flann
│ ├── all_indices.h
│ ├── allocator.h
│ ├── any.h
│ ├── autotuned_index.h
│ ├── composite_index.h
│ ├── config.h
│ ├── defines.h
│ ├── dist.h
│ ├── dummy.h
│ ├── dynamic_bitset.h
│ ├── flann_base.hpp
│ ├── flann.hpp
│ ├── general.h
│ ├── ground_truth.h
│ ├── hdf5.h
│ ├── heap.h
│ ├── hierarchical_clustering_index.h
│ ├── index_testing.h
│ ├── kdtree_index.h
│ ├── kdtree_single_index.h
│ ├── kmeans_index.h
│ ├── linear_index.h
│ ├── logger.h
│ ├── lsh_index.h
│ ├── lsh_table.h
│ ├── matrix.h
│ ├── miniflann.hpp
│ ├── nn_index.h
│ ├── object_factory.h
│ ├── params.h
│ ├── random.h
│ ├── result_set.h
│ ├── sampling.h
│ ├── saving.h
│ ├── simplex_downhill.h
│ └── timer.h
├── flann.hpp
├── gapi
│ ├── core.hpp
│ ├── cpu
│ │ ├── core.hpp
│ │ ├── gcpukernel.hpp
│ │ └── imgproc.hpp
│ ├── fluid
│ │ ├── core.hpp
│ │ ├── gfluidbuffer.hpp
│ │ ├── gfluidkernel.hpp
│ │ └── imgproc.hpp
│ ├── garg.hpp
│ ├── garray.hpp
│ ├── gasync_context.hpp
│ ├── gcall.hpp
│ ├── gcommon.hpp
│ ├── gcompiled_async.hpp
│ ├── gcompiled.hpp
│ ├── gcompoundkernel.hpp
│ ├── gcomputation_async.hpp
│ ├── gcomputation.hpp
│ ├── gkernel.hpp
│ ├── gmat.hpp
│ ├── gmetaarg.hpp
│ ├── gproto.hpp
│ ├── gpu
│ │ ├── core.hpp
│ │ ├── ggpukernel.hpp
│ │ └── imgproc.hpp
│ ├── gscalar.hpp
│ ├── gstreaming.hpp
│ ├── gtransform.hpp
│ ├── gtyped.hpp
│ ├── gtype_traits.hpp
│ ├── imgproc.hpp
│ ├── infer
│ │ └── ie.hpp
│ ├── infer.hpp
│ ├── ocl
│ │ ├── core.hpp
│ │ ├── goclkernel.hpp
│ │ └── imgproc.hpp
│ ├── opencv_includes.hpp
│ ├── operators.hpp
│ ├── own
│ │ ├── assert.hpp
│ │ ├── convert.hpp
│ │ ├── cvdefs.hpp
│ │ ├── exports.hpp
│ │ ├── mat.hpp
│ │ ├── saturate.hpp
│ │ ├── scalar.hpp
│ │ └── types.hpp
│ ├── streaming
│ │ ├── cap.hpp
│ │ └── source.hpp
│ └── util
│ ├── any.hpp
│ ├── compiler_hints.hpp
│ ├── optional.hpp
│ ├── throw.hpp
│ ├── util.hpp
│ └── variant.hpp
├── gapi.hpp
├── highgui
│ ├── highgui_c.h
│ └── highgui.hpp
├── highgui.hpp
├── imgcodecs
│ ├── imgcodecs_c.h
│ ├── imgcodecs.hpp
│ ├── ios.h
│ └── legacy
│ └── constants_c.h
├── imgcodecs.hpp
├── imgproc
│ ├── detail
│ │ └── gcgraph.hpp
│ ├── hal
│ │ ├── hal.hpp
│ │ └── interface.h
│ ├── imgproc_c.h
│ ├── imgproc.hpp
│ └── types_c.h
├── imgproc.hpp
├── ml
│ ├── ml.hpp
│ └── ml.inl.hpp
├── ml.hpp
├── objdetect
│ ├── detection_based_tracker.hpp
│ └── objdetect.hpp
├── objdetect.hpp
├── opencv.hpp
├── opencv_modules.hpp
├── photo
│ ├── cuda.hpp
│ ├── legacy
│ │ └── constants_c.h
│ └── photo.hpp
├── photo.hpp
├── stitching
│ ├── detail
│ │ ├── autocalib.hpp
│ │ ├── blenders.hpp
│ │ ├── camera.hpp
│ │ ├── exposure_compensate.hpp
│ │ ├── matchers.hpp
│ │ ├── motion_estimators.hpp
│ │ ├── seam_finders.hpp
│ │ ├── timelapsers.hpp
│ │ ├── util.hpp
│ │ ├── util_inl.hpp
│ │ ├── warpers.hpp
│ │ └── warpers_inl.hpp
│ └── warpers.hpp
├── stitching.hpp
├── video
│ ├── background_segm.hpp
│ ├── legacy
│ │ └── constants_c.h
│ ├── tracking.hpp
│ └── video.hpp
├── video.hpp
├── videoio
│ ├── cap_ios.h
│ ├── legacy
│ │ └── constants_c.h
│ ├── registry.hpp
│ ├── videoio_c.h
│ └── videoio.hpp
└── videoio.hpp
40 directories, 276 files
Obviously we could now write the .pro
configuration what we want like this, create and save it in you project in Qt Creator.
SOURCES += main.cpp
INCLUDEPATH += /usr/local/include/opencv4 \
/usr/local/include/opencv4/opencv2
LIBS += /usr/local/lib/libopencv_*.so