如何用opencv-rust实现Hello World
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,本篇内容主要讲解"如何用opencv-rust实现Hello World",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用opencv-rust实现He
千家信息网最后更新 2025年11月09日如何用opencv-rust实现Hello World
本篇内容主要讲解"如何用opencv-rust实现Hello World",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用opencv-rust实现Hello World"吧!
opencv-rust
安装
$ sudo apt install clang -y$ sudo apt install libclang-dev -y// 首先安装好opencv$ opencv_version4.5.1
写一个例子
Cargo.toml
opencv = {version = "0.52", default-features = false, features = ["opencv-34", "buildtime-bindgen"]}main.rs
运行不通过,需要安装一个微软的工具--vcpkg
$ git clone https://github.com/microsoft/vcpkg$ ./vcpkg/bootstrap-vcpkg.sh$ sudo cp vcpkg /usr/bin$ vcpkg install boost:x64-linux$ export VCPKG_ROOT=/usr/local/vcpkg$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDAROOT/lib64:/usr/lib/x86_64-linux-gnu:/usr/local/lib$ export export PKG_CONFIG_PATH=/usr/local/vcpkg/installed/x64-linux/lib/pkgconfig/:/usr/share/pkgconfig/:/usr/local/lib/pkgconfig/
遇到一个奇葩问题
Error: "Failed to find OpenCV package using probes: environment, pkg_config, vcpkg_cmake, vcpkg, cmake"
找遍了google、baidu、bing都没有找到原因,后来应验我常说的俗语"当你搜索不到有关这个问题的任何记录的时候,就是你自己的问题。"
我试着执行了一下下面的语句
$ pkg-config --modversion opencv3.2.0
大家还记得我在Cargo.toml里面是怎么定义的吧?
opencv = {version = "0.52", default-features = false, features = ["opencv-34", "buildtime-bindgen"]}我改成
opencv = {version = "0.52", default-features = false, features = ["opencv-32", "buildtime-bindgen"]}这个问题解决了,但是依然编译不过,这个时候出现的都是各种语法错误,看来我得把版本升到3.4.0。
后来发现是乌龙了,使用opencv-32 没有问题,是因为原来程序里面需要一个图片,我没有放在当前路径下。
最后编译的过程:
$ RUST_BACKTRACE=full cargo build -vv
但是video依然不行,我还得努力升级opencv,必须是3.4才可以。
$ sudo apt-get purge libopencv* python-opencv$ sudo apt-get install libopencv* python-opencv$ pip3 uninstall opencv-python-headless
安装opencv_3.4.14
$ 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-dev$ git clone https://github.com/opencv/opencv.git$ cd opencv$ mkdir build$ cd build$ sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D CMAKE_LIBRARY_PATH=/usr/local/cuda-11.0/lib64/stubs -D CUDA_CUDA_LIBRARY=/usr/local/cuda-11.0/lib64/stubs/libcuda.so ..$ sudo make -j8$ sudo make install
https://github.com/opencv/opencv/tree/3.4.14 去这里下载一个zip包安装方式同上最后这个成功了
:tada:tada:tada:tada:tada:tada:tada:tada:tada:tada:tada:::::::::::
下面是一个简单的例子
Cargo.toml
opencv = {version = "0.52", default-features = false, features = ["opencv-34", "buildtime-bindgen"]}use opencv::{ highgui, imgcodecs, Result,};fn main() -> Result<()> { let image = imgcodecs::imread("lena.jpg",imgcodecs::IMREAD_ANYCOLOR)?; highgui::named_window("hello opencv!", 0)?; highgui::imshow("hello opencv!", &image)?; highgui::wait_key(10000)?; Ok(())}$ RUST_BACKTRACE=full cargo build -vv
大成功。
到此,相信大家对"如何用opencv-rust实现Hello World"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
问题
成功
例子
内容
时候
学习
编译
不行
实用
更深
乌龙
俗语
兴趣
原因
图片
奇葩
实用性
实际
就是
工具
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
阿里云服务器哪里登录
网页打开和服务器连接被重置
git 登录腾讯云服务器
软件开发造价评估公司
电脑软件开发培训中心
mc服务器频率
网络安全小常识的手抄报内容
钉钉的服务器地址在哪
208华为网络技术大赛
数据库中的选择运算举例
网络安全挑战灵丹妙药
自己做个服务器控制小米智能家居
服务器风扇的噪音多大
数据库流化
淄博软件开发建设
学校开展网络安全教育简报
哪个软件可以炒股软件开发
广州市新昌软件开发有限公司
我国企业网络安全政策
负责软件开发的部门
安卓app软件开发代理
维普在线数据库
网络安全主题讲座心得体会
小股票软件开发费用
使命召唤更新后老是连接服务器
常用网络安全工具软件
神通数据库安全版
软件开发专业ppt答辩
小程序云数据库查询不一致
计算机网络技术社会实践报告