
一.源码编译Opencv可参考博主之前的博客树莓派4B上配置Opencv_竹叶青lvye的博客-CSDN博客博主这篇博客使用的版本是opencv3.4.4,其所在的位置如下博主这里会在opencv-3.4..4文件夹里新建build和install文件夹cd到build文件夹里会执行如下的命令当然你可以指定更多参数。cmake -D CMAKE_BUILD_TYPERelease -D CMAKE_INSTALL_PREFIX/home/pi/opencv-3.4.4/install ..最后安装的文件都在install文件夹下了如下附加和主题没有关系只是为了方便博主日后查看不需要的童鞋可以跳过如下之前写的博客可以借鉴其中的编译命令方式虽然平台不一样方法方式是一样的Ubuntu下Qt Creator配置opencv_竹叶青lvye的博客-CSDN博客_ubuntu下qt配置opencv如果你想在PC平台上编译好这些install文件夹里的文件你可以通过交叉编译方式来进行然后将编译好的的文件拷贝到树莓派上即可可参考博主之前的博客Ubuntu交叉编译含有Opencv功能的程序并在树莓派上执行_竹叶青lvye的博客-CSDN博客_ubuntu交叉编译opencv二.安装vscode树莓派安装vscode方法可见之前博客树莓派4B IDE配置_竹叶青lvye的博客-CSDN博客完毕后点击如下界面左侧的符号红框标记看看installed的栏里有没有安装一些必要插件比如C/C, C/C Compile RunC/C Extension Pack, C Intellisense没有的话就手动安装上。博主这边新建了一个test.cpp文件#include stdio.h #include iostream #include stdlib.h #include opencv2/opencv.hpp #include opencv2/core/core.hpp using namespace cv; using namespace std; int main() { cout hello world endl; Mat img imread(/home/pi/test_openvino/test5/2008_002682.jpg); imwrite(image.bmp, img); //imshow(image,img); //waitKey(0); cout over endl; return 0; }此时工程目录结构如下三.配置文件配置task.json完毕后点击Terminal菜单栏下的Configure Default Build Task选项弹跳出来的窗口内选择红框的选项便自动生成了task.json文件在里面配置下opencv的信息贴下博主的配置结合自己的路径{ version: 2.0.0, tasks: [ { type: cppbuild, label: C/C: g build active file, command: /usr/bin/g, args: [ -stdc11, -g, ${file}, -o, ${fileDirname}/${fileBasenameNoExtension}, -I, /home/pi/opencv-3.4.4/install/include, -I, /home/pi/opencv-3.4.4/install/include/opencv2, -I, /home/pi/opencv-3.4.4/install/include/opencv, -L, /home/pi/opencv-3.4.4/install/bin, -L, /home/pi/opencv-3.4.4/install/lib, -lopencv_highgui, -lopencv_core, -lopencv_imgproc, -lopencv_imgcodecs ], options: { cwd: ${fileDirname} }, problemMatcher: [ $gcc ], group: { kind: build, isDefault: true }, detail: compiler: /usr/bin/g } ] }配置launch.json再点击下菜单栏Run中的Add Configuration选项弹跳出来的窗口中选择第一条选项注意此时应该是在主页面显示test.cpp内容情况下去操作上面一步换句话说不能在主页面显示tasks.json文件中内容的情况下去操作上面。如上操作后便自动生成了launch.json文件此时点击下图中显示的Add Configuration按钮【注需先选中launch.json文件再去点击按钮】,跳出来的窗口中选择红框标记的选项launch.json文件中会出现很多信息。在此基础上你可以继续修还此配置文件这边贴上博主的配置{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid830387 version: 0.2.0, configurations: [ { name: (gdb) Launch, type: cppdbg, request: launch, program: ${fileDirname}/${fileBasenameNoExtension}, args: [], stopAtEntry: false, cwd: ${fileDirname}, environment: [], externalConsole: false, MIMode: gdb, setupCommands: [ { description: Enable pretty-printing for gdb, text: -enable-pretty-printing, ignoreFailures: true }, { description: Set Disassembly Flavor to Intel, text: -gdb-set disassembly-flavor intel, ignoreFailures: true } ], preLaunchTask: C/C: g build active file, miDebuggerPath: /usr/bin/gdb } ] }注意这里的“program选项值得要和tasks.json中的”-O选项值一致。为什么必须配置 JSONtasks.json告诉 VS Code用哪个编译器、怎么编译launch.json告诉 VS Code运行哪个程序、怎么调试没有这两个文件VS Code不知道如何处理 C。配置c_cpp_properties.jsonctrlshiftP跳出来的窗口中可以选择c/c: Edit Configurations(UI)通过界面去配置生成json文件也可以选择c/cEdit Configurations(JSON)生成初始json文件然后在此基础上自己去编辑。贴上博主的{ configurations: [ { name: Linux, includePath: [ ${workspaceFolder}/**, /home/pi/opencv-3.4.4/install/include, /home/pi/opencv-3.4.4/install/include/opencv, /home/pi/opencv-3.4.4/install/include/opencv2 ], defines: [], compilerPath: /usr/bin/gcc, cStandard: gnu17, cppStandard: gnu14, intelliSenseMode: linux-gcc-arm } ], version: 4 }三个json文件配置完毕后此时工程的目录结构如下此时opencv的环境也就配置好了include,lib库路径也都配置好了。同时别忘了在环境变量里把opencv的lib路径加上让系统能够找到完毕后执行下source ~/.bashrc注以上.vscode文件夹及里面的文件都可以手动去创建并进行配置但借助vscode提供的工具可以减少很多工作。四.运行程序将主页面切换到test.cpp此时点击左侧的三角红色标识1然后点击红色标识2处的小箭头便可以debug程序来。程序成功运行信息如下补充1.若要命令行语句运行此test.cpp文件可执行如下命令行语句/usr/bin/g -stdc11 -g /home/pi/test_openvino/test5/test.cpp -o /home/pi/test_openvino/test5/test_opencv -I /home/pi/opencv-3.4.4/install/include -L /home/pi/opencv-3.4.4/install/lib -lopencv_highgui -lopencv_core -lopencv_imgproc -lopencv_imgcodecs然后执行./test_opencv2.还有一种就是用pkg_config方式博客里也说明了此方式这边就不再赘叙了。