如果要使用opencv开发,必须下载源代码然后编译
https://linuxize.com/post/how-to-install-opencv-on-ubuntu-20-04/https://linuxize.com/post/how-to-install-opencv-on-ubuntu-20-04/
在opencv 目录下创建 build 文件夹然后执行cmake command
Set up the OpenCV build with CMake:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_GENERATE_PKGConFIG=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules -D BUILD_EXAMPLES=ON ..
-D 是变量的定义,控制了编译的模块等,上面的 .. 表示上级目录也指明了 cmake file在opencv 目录下的CMakeLists.txt,
执行cmake后输出log是:
-- OpenCV modules:
-- To be built: aruco barcode bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform java line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot python2 python3 quality rapid reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab wechat_qrcode xfeatures2d ximgproc xobjdetect xphoto
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: alphamat cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv hdf julia matlab ovis sfm viz
-- Applications: tests perf_tests examples apps
-- documentation: NO
-- Non-free algorithms: NO
如 BUILD_opencv_ml = OFF, 可以通过cmake的输入log: To be built:看是否有mk
cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.4
-D OPENCV_ENABLE_NonFREE=ON
-D OPENCV_EXTRA_MODULES_PATH=/home/zfb/opencv_contrib-4.4.0/modules
-D OPENCV_GENERATE_PKGConFIG=YES
-D WITH_QT=ON
-D WITH_OPENGL=ON
-D WITH_CUDA=ON
-D BUILD_EXAMPLES=ON
-D INSTALL_PYTHON_EXAMPLES=ON
-D INSTALL_C_EXAMPLES=ON ..
Building OpenCV takes time, anywhere between 5 minutes and +60 minutes depending on your configuration, the selected OpenCV modules and options, …; so it’s a good idea to first do a minimal build to check that eveything is OK.
To reduce the build time, disable the following entries:
-
BUILD_IPP_IW
-
BUILD_ITT
-
BUILD_OPENEXR
-
BUILD_PERF_TESTS
-
BUILD_TESTS
-
BUILD_TIFF
-
BUILD_WEBP
-
BUILD_opencv_calib3d
-
BUILD_opencv_dnn
-
BUILD_opencv_features2d
-
BUILD_opencv_flann
-
BUILD_opencv_gapi
-
BUILD_opencv_highgui
-
BUILD_opencv_ml
-
BUILD_opencv_objdetect
-
BUILD_opencv_photo
-
BUILD_opencv_python_bindings_generator
-
BUILD_opencv_python_tests
-
BUILD_opencv_stitching
-
BUILD_opencv_ts
-
BUILD_opencv_video
-
BUILD_opencv_videoio
-
VIDEOIO_ENABLE_PLUGINS
-
VIDEOIO_ENABLE_STRICT_PLUGIN_CHECK
The following OpenCV modules are the bare minimum to use OpenCV from Java.
-
BUILD_opencv_core
-
BUILD_opencv_imgcodecs
-
BUILD_opencv_imgproc
-
BUILD_JAVA
-
BUILD_opencv_java
-
BUILD_opencv_java_bindings_gen
1154 # ==== OpenCV modules ==========================
1171 status(" To be built:" OPENCV_MODULES_BUILD THEN ${OPENCV_MODULES_BUILD_ST} ELSE "-")
1172 status(" Disabled:" OPENCV_MODULES_DISABLED_USER THEN ${OPENCV_MODULES_DISABLED_USER_ST} ELSE "-")
1173 status(" Disabled by dependency:" OPENCV_MODULES_DISABLED_AUTO THEN ${OPENCV_MODULES_DISABLED_AUTO_ST} ELSE "-")
1174 status(" Unavailable:" OPENCV_MODULES_DISABLED_FORCE THEN ${OPENCV_MODULES_DISABLED_FORCE_ST} ELSE "-")
OpenCV4.5.1新增微信QRCode解码功能使用步骤与测评 附源码和效果视频微信开源了QRCode解码功能,并可以在OpenCV中使用,本期将介绍使用步骤和效果演示。使用体验:非常适用APP开发者手机端扫码使用......https://mp.weixin.qq.com/s/2GZAJAUPHTXFOKDRv-D21Q
怎样以c/c++ native的方式使用OpenCV4.5.1新增微信QRCode解码功能使用步骤与测评 附源码和效果视频微信开源了QRCode解码功能,并可以在OpenCV中使用,本期将介绍使用步骤和效果演示。使用体验:非常适用APP开发者手机端扫码使用......https://mp.weixin.qq.com/s/2GZAJAUPHTXFOKDRv-D21Q生成的库的路径:opencv/build/lib
cmakefile控制链接的具体库,不要使用大而全的${OpenCV_LIBS}
# link your application with OpenCV libraries
#target_link_libraries(opencv_example PRIVATE ${OpenCV_LIBS})
target_link_libraries(opencv_example PRIVATE opencv_wechat_qrcode)
target_link_libraries(opencv_example PRIVATE opencv_highgui)
target_link_libraries(opencv_example PRIVATE opencv_imgproc)
target_link_libraries(opencv_example PRIVATE opencv_imgcodecs)
不要用大而全的opencv头文件
//#include
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
Building OpenCV 4 with Java Support – David Delabassée – DevRel Java Platform Group @ Oraclehttps://delabassee.com/OpenCVJava/
The following OpenCV modules are the bare minimum to use OpenCV from Java.
-
BUILD_opencv_core
-
BUILD_opencv_imgcodecs
-
BUILD_opencv_imgproc
-
BUILD_JAVA
-
BUILD_opencv_java
-
BUILD_opencv_java_bindings_gen
To use OpenCV from Java, you need the build/bin/opencv-430.jar jar and the native libraries located in build/lib.
opencv-454.jar and libopencv_java454.so (native lib)
这里自动生成了jni 接口和 wechat qrcode 模型文件在哪里?不需要自己写jni接口 和java接口, 怎么去用?也许最好的方式是自己写jni接口。
Compiling and Using OpenCV on Android from C++ (Without OpenCVManager) | sisikhttps://www.sisik.eu/blog/android/ndk/opencv-without-java
怎样编译生成android上使用的库Build OpenCV for android · GitHubBuild OpenCV for android. GitHub Gist: instantly share code, notes, and snippets.https://gist.github.com/tzutalin/f07f5633fd599001101006561689062b
cmake ..
-DCMAKE_TOOLCHAIN_FILE=/path/to/ndk/build/cmake/android.toolchain.cmake
-DANDROID_NDK=/path/to/ndk
-DANDROID_NATIVE_API_LEVEL=android-21
-DBUILD_JAVA=OFF
-DBUILD_ANDROID_EXAMPLES=OFF
-DBUILD_ANDROID_PROJECTS=OFF
-DANDROID_STL=c++_shared
-DBUILD_SHARED_LIBS=ON
-DCMAKE_INSTALL_PREFIX:PATH=/absolute/path/to/opencv/android_build/out
-DANDROID_ABI=arm64-v8a
cmake .. -
DBUILD_opencv_ittnotify=OFF
-DBUILD_ITT=OFF
-DCV_DISABLE_OPTIMIZATION=ON
-DWITH_CUDA=OFF
-DWITH_OPENCL=OFF
-DWITH_OPENCLAMDFFT=OFF
-DWITH_OPENCLAMDBLAS=OFF
-DWITH_VA_INTEL=OFF
-DCPU_baseLINE_DISABLE=ON
-DENABLE_SSE=OFF
-DENABLE_SSE2=OFF
-DBUILD_TESTING=OFF
-DBUILD_PERF_TESTS=OFF
-DBUILD_TESTS=OFF
-DCMAKE_BUILD_TYPE=RELEASE
-DBUILD_EXAMPLES=OFF
-DBUILD_DOCS=OFF
-DBUILD_opencv_apps=OFF
-DBUILD_SHARED_LIBS=OFF
-DOpenCV_STATIC=ON
-DWITH_1394=OFF
-DWITH_ARITH_DEC=OFF
-DWITH_ARITH_ENC=OFF
-DWITH_CUBLAS=OFF
-DWITH_CUFFT=OFF
-DWITH_FFMPEG=OFF
-DWITH_GDAL=OFF
-DWITH_GSTREAMER=OFF
-DWITH_GTK=OFF
-DWITH_HALIDE=OFF
-DWITH_JASPER=OFF
-DWITH_NVCUVID=OFF
-DWITH_OPENEXR=OFF
-DWITH_PROTOBUF=OFF
-DWITH_PTHREADS_PF=OFF
-DWITH_QUIRC=OFF
-DWITH_V4L=OFF
-DWITH_WEBP=OFF
-DBUILD_LIST=core,features2d,flann,imgcodecs,imgproc,stitching
-DANDROID_NDK=/path/to/ndk
-DCMAKE_TOOLCHAIN_FILE=/path/to/ndk/build/cmake/android.toolchain.cmake
-DANDROID_NATIVE_API_LEVEL=android-21
-DBUILD_JAVA=OFF
-DBUILD_ANDROID_EXAMPLES=OFF
-DBUILD_ANDROID_PROJECTS=OFF
-DANDROID_STL=c++_shared
-DBUILD_SHARED_LIBS=ON
-DCMAKE_INSTALL_PREFIX:PATH=/absolute/path/to/opencv/android_build/out
-DANDROID_ABI=arm64-v8a
怎样生成libopencv_java4.so‘BUILD_FAT_JAVA_LIB’ which specifies that a java wrapper will be created for all OpenCV libraries enabled.
#!/bin/bash
export ANDROID_SDK_ROOT=/home/ws/Android/Sdk
export ANDROID_PLATFORM=android-21
# for java
cmake -DBUILD_FAT_JAVA_LIB=ON
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
-DBUILD_ANDROID_EXAMPLES=OFF
-DBUILD_ANDROID_PROJECTS=OFF
-DCMAKE_TOOLCHAIN_FILE=/home/ws/Android/Sdk/ndk/21.2.6472646/build/cmake/android.toolchain.cmake
-DBUILD_LIST=core,features2d,flann,imgcodecs,imgproc,stitching 这个命令是起作用的
OpenCV4.5.1新增微信QRCode解码功能使用步骤与测评 附源码和效果视频微信开源了QRCode解码功能,并可以在OpenCV中使用,本期将介绍使用步骤和效果演示。使用体验:非常适用APP开发者手机端扫码使用......https://mp.weixin.qq.com/s/2GZAJAUPHTXFOKDRv-D21Q
微信二维码引擎OpenCV开源研究 - jsxyhelu - 博客园《微信二维码引擎OpenCV开源研究》一、编译和Test测试 《微信二维码引擎OpenCV开源研究》 opencv_wechat_qrcode的编译需要同时下载opencv(https://githuhttps://www.cnblogs.com/jsxyhelu/p/14390171.html
微信二维码扫描功能移植到Android平台_wang382758656的专栏-程序员宅基地 - 程序员宅基地https://www.cxyzjd.com/article/wang382758656/114762661



