91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用opencv-rust實現Hello World

發布時間:2021-10-13 15:06:16 來源:億速云 閱讀:416 作者:iii 欄目:編程語言

本篇內容主要講解“如何用opencv-rust實現Hello World”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何用opencv-rust實現Hello World”吧!

opencv-rust

安裝

$ sudo apt install clang -y
$ sudo apt install libclang-dev -y

// 首先安裝好opencv
$ opencv_version
4.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 opencv
3.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”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

齐河县| 晋州市| 廊坊市| 呼伦贝尔市| 阜宁县| 汉沽区| 梁河县| 桃江县| 子洲县| 汪清县| 西乡县| 巨野县| 林芝县| 宝山区| 周口市| 萨嘎县| 城步| 安平县| 佳木斯市| 平度市| 泰州市| 鄂伦春自治旗| 威远县| 雅安市| 文登市| 中山市| 依兰县| 堆龙德庆县| 滦南县| 兴业县| 哈巴河县| 桂平市| 佳木斯市| 金昌市| 清远市| 龙江县| 黔江区| 房产| 洞头县| 韶山市| 衡水市|