opencv-rust 系列: 1, 安装及运行自带示例和测试程序

opencv-rust 系列: 1, 安装及运行自带示例和测试程序

    • [运行环境: ubuntu ; rust 已安装; 对rust的掌握为三脚猫程度](#运行环境: ubuntu ; rust 已安装; 对rust的掌握为三脚猫程度)
    • [一. opencv-rust安装:](#一. opencv-rust安装:)
    • [二. 运行自带examples和tests](#二. 运行自带examples和tests)

运行环境: ubuntu ; rust 已安装; 对rust的掌握为三脚猫程度

一. opencv-rust安装:

  1. 安装软件: sudo apt install libopencv-dev clang libclang-dev llvm (clang就是llvm部分)
  2. 查看版本: sudo apt show libopencv-dev ( 目前20241006支持OPENCV 4.6.0)

二. 运行自带examples和tests

  1. 安装最新的opencv库,命令: cargo add opencv ( 此时20241006, 库版本为 0.93.1 )
  2. 使用命令: locate opencv-0.93 找到库所在目录
  3. 复制一份到本地, 例如: cp -av /home/wzw/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.93.1 ./
  4. 运行自带示例(示例在examples目录中)
    1. 命令如: cargo run --example video_capture ( 摄像并显示 )
    2. 命令如: cargo run --example video_facedetect ( 人脸测试 )
    3. 备注: examples/ 目录中的程序都可以试试, 有些程序运行需要参数
  5. 运行自带的测试程序
    1. 命令: cargo test
      1. 报错: error[E0599]: no method named points_vec found for struct RotatedRect in the current scope --> tests/core_only_latest_opencv.rs:11:7
      2. 修改程序: tests/core_only_latest_opencv.rs
        1. 被替换内容:
          let mut vec_pts = Vector::new();
          rect.points_vec(&mut vec_pts)?;
          assert_eq!(Point2f::new(50., 50.), vec_pts.get(0)?);
          assert_eq!(Point2f::new(150., 50.), vec_pts.get(1)?);
          assert_eq!(Point2f::new(150., 150.), vec_pts.get(2)?);
          assert_eq!(Point2f::new(50., 150.), vec_pts.get(3)?);
        2. 替换成:
          let mut vec_pts = [Point2f::new(0.0, 0.0); 4];
          rect.points(&mut vec_pts)?;
          assert_eq!(Point2f::new(50., 50.), *vec_pts.get(0).unwrap());
          assert_eq!(Point2f::new(150., 50.), *vec_pts.get(1).unwrap());
          assert_eq!(Point2f::new(150., 150.), *vec_pts.get(2).unwrap());
          assert_eq!(Point2f::new(50., 150.), *vec_pts.get(3).unwrap());
      3. 现在再 cargo test 就可以运行通过了. ( 有两个 warning 可以忽略 )
相关推荐
hrrrrb36 分钟前
【Rust】枚举和模式匹配
开发语言·rust
m晴朗2 小时前
RDK X5 交叉编译OSS\QT\opencv\openssl
开发语言·opencv·rdkx5
jndingxin5 小时前
OpenCV 图形API(81)图像与通道拼接函数-----透视变换函数warpPerspective()
人工智能·opencv·计算机视觉
白熊1885 小时前
【计算机视觉】OpenCV实战项目:Deep Machine Learning Tutors:基于OpenCV的实时面部识别系统深度解析
opencv·机器学习·计算机视觉
zhuziheniaoer5 小时前
rust-candle学习笔记12-实现因果注意力
笔记·学习·自然语言处理·rust
无名之逆5 小时前
Hyperlane: Unleash the Power of Rust for High-Performance Web Services
java·开发语言·前端·后端·http·rust·web
Source.Liu5 小时前
【typenum】 0 配置文件(Cargo.toml)
rust
AI technophile10 小时前
OpenCV计算机视觉实战(4)——计算机视觉核心技术全解析
人工智能·opencv·计算机视觉
jndingxin14 小时前
OpenCV 图形API(77)图像与通道拼接函数-----对图像进行几何变换函数remap()
人工智能·opencv·计算机视觉
多巴胺与内啡肽.17 小时前
OpenCV进阶操作:角点检测
人工智能·opencv·计算机视觉