盐城手机网站建设公司,wordpress用户中心界面,免费样机素材网站,开发一个商城网站多少钱第一次接触C的opencv#xff0c;需要在vscode中编写cv2代码并调试。根据vscode配置C和Opencv#xff08;ubuntu18.04#xff09;能够正确配置#xff0c;是一个靠谱的教程#xff0c;现在记录一下过程#xff0c;方面后续参考。
1、安装依赖
在终端中安装依赖#xff…第一次接触C的opencv需要在vscode中编写cv2代码并调试。根据vscode配置C和Opencvubuntu18.04能够正确配置是一个靠谱的教程现在记录一下过程方面后续参考。
1、安装依赖
在终端中安装依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev # 下面是可选我没有选
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev2、下载源码安装
去官网下载sources源码版本选择第二个最新的可能存在不稳定或其他bug选第二个可能会稳定点
下载到本地后解压最好不要存在中文或奇怪字符的路径在命令行中进入opencv-version文件夹创建并进入build文件夹mkdir build cd buildcmake编译cmake -D CMAKE_INSTALL_PREFIX/usr/local -D CMAKE_BUILD_TYPERelease -D OPENCV_GENERATE_PKGCONFIGON -D OPENCV_ENABLE_NONFREETrue ..
结束后执行make指令当然可以多线程先nproc命令查询你的线程数我的是20所以使用j15指定15个线程sudo make j15这段等待时间较长。
完成后指定sudo make install即可
3、环境配置
在cmake命令中设置了OPENCV_GENERATE_PKGCONFIGON素以在/usr/local/lib/pdkconfig中生成了opencv4.pc文件里面记录了opencv头文件、库文件的路径现在配置一下应该是环境变量一类将其暴露给全局变量
通过sudo vim /etc/bash.bashrc打开后在最后追加
PKG_CONFIG_PATH$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH保存退出后更新source /etc/bash.bashrc
修改动态库通过sudo vim /etc/ld.so.conf.d/opencv.conf 在里面添加/usr/local/lib然后保存退出再更新一下sudo ldconfig
3、检查校验
#终端输入以下两命令显示正常则安装成功
pkg-config --modversion opencv4 #查看版本号
pkg-config --libs opencv4 #查看libs库除此之外opencv源码提供了测试程序位于opencv-version/samples/cpp/examples_cmake在终端进入该文件夹然后
mkdir build
cd ./build
cmake ..
make
./opencv_example 执行该可执行文件会弹出一个框并显示“Hello OpenCV”
注意在cmake阶段如果cmake文件中需要opencv则在编译时会打印找到的opencv路径可以以此判断是否是期望的opencv版本
4、在vscode中测试
vscode安装不说了现在在vscode中新建一个opencvtest.cpp文件内容为
#includeopencv2/opencv.hpp
#includeiostream
using namespace std;
using namespace cv;
int main(int argc,char** argv){// 注意这里修改成你的图片路径Mat src imread(test.jpeg,IMREAD_GRAYSCALE); //读取图片if (src.empty()) { //判断是否找到图片printf(没有找到图片 ); //输出文字return -1;}else{namedWindow(input,WINDOW_AUTOSIZE);// 显示窗口命名为input WINDOW_AUTOSIZE显示大小为图片自定义大小且不可以更改大小imshow(input,src); //显示waitKey(0);//显示的毫秒时间如果函数参数0表示一直显示。0表示显示的时间destroyAllWindows();return 0;}
}c_cpp_properties.json 在.vscode文件夹的c_cpp_properties.json中includePath下添加/usr/local/include/opencv4解决检测到 #include 错误。请更新 includePath。已为此翻译单元(/home/zjgdyjy/WorkSpace/tensorrtx-master/yolov5/CutImage/opencvtest.cpp)禁用波形曲线。
task.json 快捷键shiftctrlp搜索全局命令tasks选择g 生成活动文件配置内容
// 节选
args: [-fdiagnostics-coloralways,-g,${file},-o,${fileDirname}/${fileBasenameNoExtension}.out,// 解决opencv2/opencv.hpp: 没有那个文件或目录pkg-config,--libs,--cflags,opencv4 //这是添加第三方库代码要添加什么库直接继续加就行不要忘记了 符号//如下面再加个 gazebo11 第三方库(你得保证你安装的第三方库中含有.pc文件)// pkg-config,--libs,--cflags,opencv4,gazebo11],launch.json 运行——添加配置——C(GDB/LLDB)——
{configurations: [{name: C/C: cpp 生成和调试活动文件,type: cppdbg,request: launch,program: ${fileDirname}/${fileBasenameNoExtension}.out,args: [pkg-config,--libs,--cflags,opencv4,],stopAtEntry: false,cwd: ${fileDirname},environment: [],externalConsole: false,MIMode: gdb,setupCommands: [{description: 为 gdb 启用整齐打印,text: -enable-pretty-printing,ignoreFailures: true},{description: 将反汇编风格设置为 Intel,text: -gdb-set disassembly-flavor intel,ignoreFailures: true}],preLaunchTask: C/C: g build active file, //要和 task.json的label字段一致miDebuggerPath: /usr/bin/gdb,//下面这行命令可以去除Vscode中编译后出现 [1] Done.... 的提示miDebuggerArgs: -q -ex quit; wait() { fg /dev/null; }; /usr/bin/gdb -q --interpretermi}],version: 2.0.0
}如果想生成一个终端可以改“externalConsole”: true ,弹出命令窗口
写在最后
有问题或者不清楚见作者原文那写的更清楚