VSCode에서 opencv 환경을 구축하고 구성하는 방법은 무엇입니까? 다음 글에서는 VSCode에서 opencv 환경을 구축하고 구성하는 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
얼마 전 저는 opencv를 배우고 싶었습니다. 저는 항상 vscode를 사용하여 코드를 작성하는 데 익숙했기 때문에 vscode를 사용하여 opencv 환경을 구축하기로 결정했습니다. 환경을 설정하기 위해 많은 기사를 읽고 한 기사에서 방법을 선택했습니다. 기사는 실제로 상세했지만 아직 명확하게 설명되지 않은 세부 사항이 있다고 느꼈습니다. 나중에 다른 기사에서 한 단계에 의존했습니다. 환경을 성공적으로 구축했습니다. 그래서 나는 이 글과 나의 경험을 바탕으로 opencv 환경을 구축하는 단계에 대해 이야기하기로 했다.
【추천 학습: "vscode 입문 튜토리얼"】
MinGW-w64 오프라인 패키지 다운로드 주소: https://sourceforge.net/projects/mingw-w64/files/.
온라인 패키지 다운로드 모임 속도가 매우 느리기 때문에 오프라인 패키지를 직접 다운로드할 수 있습니다.
CMake 다운로드 주소: https://cmake.org/download/
CMake는 바이너리 파일, 즉 Binary distributions 열을 선택해야 합니다. 다운로드할 컴퓨터에 해당하는 파일을 선택하세요
opencv 라이브러리: https://sourceforge.net/projects/opencvlibrary/.
MinGW-w64 및 CMake는 설치할 필요가 없습니다. 원하는 저장 경로(설치 경로와 유사)에 압축을 풀면 됩니다.
MinGW-w64 폴더 위치를 찾으세요. 아래 그림:
제가 구성한 대로 환경 변수에 경로를 추가합니다: F:MINGW64mingw64bin.
환경 변수 추가 방법: 내 컴퓨터 마우스 오른쪽 버튼 클릭 -> 고급 시스템 설정 - > 환경 변수 - > 경로를 추가하려면 경로를 두 번 클릭하세요.
아래 그림에서 CMake 폴더의 위치를 찾으세요.
환경 변수에 경로를 추가하세요(예: 내 구성: F:CMAKEbin).
아래 그림에서 opencv 폴더의 위치를 찾으세요:
환경 변수에 경로를 추가하세요: F:opencv4.5.1opencvbuildx64mingwbin.
사용 가능한 현재 환경 변수 경로
환경 변수가 성공적으로 추가되었는지 확인하세요.
win+R 키를 누르고 터미널에 cmd를 입력하세요.
터미널의 명령 조금 다릅니다. 저는 gcc -v 및 cmake --version입니다. -v인지 –version인지 모르겠습니다
cmake-gui를 작동하기 전에 벽을 넘지 않았다면, 먼저 다음을 추가해야 합니다.
C:WindowsSystem32driversetchosts 파일 151.101.72.133 raw.githubusercontent.com
cmake-gui에서 일부 파일을 다운로드하므로 이러한 파일은 수정하지 않으면 raw.githubusercontent.com에 있습니다. 호스트에서는 많은 파일을 다운로드하지 못할 가능성이 높습니다.
수정 방법: 호스트 파일을 메모장에서 열어 편집하거나, vsocde로 직접 드래그하여 열고 수정하세요. 수정했지만 문제를 저장할 수 없는 경우 먼저 복사본을 만들고 원본 파일을 삭제한 다음 수정된 파일을 원래 위치에 다시 복사할 수 있습니다.
cmake-gui를 열고 그림과 같이 소스 파일 경로와 MakeFiles 저장 경로(사용자 정의 선택 경로)를 선택합니다.
구성을 클릭하면 팝업 창 구성은 다음과 같습니다.
드롭다운 상자에서 MinGW를 선택합니다. 주의가 산만해지지 마세요. 그런 다음 Next를 클릭하고 다음과 같이 MinGW 파일에서 컴파일 도구를 선택한 후 마지막으로 Finish를 클릭합니다.
执行过程中消息框会出现一堆红色信息,最后显示Configure done,是正常的。如果执行时中断,则存在其他问题。在执行完后,勾选BUILD_opencv_world,WITH_OPENGL和BUILD_EXAMPLES,不勾选WITH_IPP、WITH_MSMF和ENABLE_PRECOMPILED_HEADERS(如果有的话),CPU_DISPATCH选空。如果要编译opencv_contrib,则需要在OPENCV_EXTRA_MODULES_PATH 把路径选择为解压的opencv_contrib文件中的“modules”文件夹。
再次点击Configure,这次执行完后仍有错误如下:
也就是说前面虽然修改了hosts,但是有些文件仍然没有成功下载,解决的方法就是手动下载它们。可以用浏览器访问下载链接,或者使用迅雷等下载器进行下载。CMakeDownloadLog.txt文件中列出了所有丢失文件的下载链接,比如:
https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/opencv_ffmpeg.dll
一个个访问这些链接,下载后放到OpenCV源文件里.cache的相应子文件夹中替代原缓存文件(下载的文件重命名为相应地缓存文件名并删除原缓存文件)。这样从头到尾下载CMakeDownloadLog.txt中列出的所有丢失文件,之后,再次Configure,理论上不会出现红色的错误消息了。然后点击Generate,正常的话会显示非红色的消息Generate Done。一般翻墙成功的话都可以直接下载成功
CMD到MakeFiles所在文件夹,执行minGW32-make命令,或者使用多线程minGW32-make -j 4命令:
如果报错可查阅下面的网址帮助:
https://blog.huihut.com/2018/07/31/CompiledOpenCVWithMinGW64/
一般问题都是可以通过勾选和去勾选解决的,因为之前就Configure过,因此回头再Configure一下花不了太多时间。
如果同时编译opencv_contrib,可能会报如下错误:
编译完成之后,输入minGW32-make install 来完成装载。
minGW32-make install
在VScode中安装C/C++扩展,添加以下三个json文件:
launch.json 需要配置miDebuggerPath项。
{ "version": "0.2.0", "configurations": [ { "name": "opencv4.5.1 debuge", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "F:/MINGW64/mingw64/bin/gdb.exe", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": false } ], "preLaunchTask": "opencv4.5.1 compile task" } ] }
c_cpp_properties.json 需要配置compilerPath项和includePath项。
{ "configurations": [ { "name": "win", "includePath": [ "${workspaceFolder}/**", "F:/opencv4.5.1/opencv/build/x64/mingw/install/include", "F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2", "F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2/myself_all" ], "defines": [], "compilerPath": "F:/MINGW64/mingw64/bin/gcc.exe", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" } ], "version": 4 }
tasks.json 需要配置command项、args项和options项。
{ "version": "2.0.0", "tasks": [ { "type": "shell", "label": "opencv4.5.1 compile task", "command": "F:/MINGW64/mingw64/bin/g++.exe", "args": [ "-g", "${file}", "-o", "${workspaceFolder}\\${fileBasenameNoExtension}.exe", "F:/opencv4.5.1/opencv/build/x64/mingw/install/x64/mingw/bin/libopencv_world451.dll", "-I", "F:/opencv4.5.1/opencv/build/x64/mingw/install/include", "-I", "F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv", "-I", "F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2", ], "options": { "cwd": "F:/MINGW64/mingw64/bin" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true } } ] }
注意:如果是复制我的文件配置的话记得把opencv4.5.1改为你的对应版本
验证程序:Ctrl+Shift+B编译即可生成对应exe文件,然后F5运行。
#include<opencv2\opencv.hpp> #include <iostream> using namespace cv; int main(int argc, char** argv) { Mat src = imread("image/girl.jpg"); //图片路径为同一文件夹 namedWindow("window_1",0); imshow("window_1", src); waitKey(0); return 0; }
更多关于VSCode的相关知识,请访问:vscode教程!!
위 내용은 VSCode에서 opencv 환경을 구축하고 구성하는 방법에 대한 간략한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!