如何用opencv-rust实现Hello World
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"如何用opencv-rust实现Hello World",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用opencv-rust实现He
千家信息网最后更新 2026年11月02日如何用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安全错误
数据库的锁怎样保障安全
互联网科技行业发展
广州互联网科技公司
上海互联网科技有限公司
紫鲸互联网科技
未来的互联网科技
西安互联网科技公司
互联网科技宣传片
银川新华互联网科技学校地址
厦门比较好的科技互联网公司
辽宁互联网新科技
未来五年的互联网科技
坤平互联网科技
威龙国际互联网科技公司
徐州市互联网科技有限公司
每天都有哪些好的互联网科技
雨阳互联网卡科技有限公司
城市宝互联网科技有限公司
从那以后互联网科技有限公司
风投北京互联网科技
广东猫王互联网科技有限公司电话
华服互联网科技靠谱吗
互联网科技公司简介
互联网科技公司起名
涨乐互联网科技
互联网科技论坛
互联网科技咨询
深圳市优智互联网科技有限公司
南通创西澳互联网科技有限公司
下一代互联网重大应用科技园
广州燕处互联网科技有限公司