• cv::Mat 的常见操作方法


    cv::MatOpenCV库中用于处理图像和矩阵的主要数据结构。以下是一些常见的cv::Mat操作方法:

    1. 创建和初始化

      • cv::Mat::Mat(): 创建一个空的cv::Mat对象。
      • cv::Mat::Mat(int rows, int cols, int type): 创建一个指定行数、列数和数据类型的cv::Mat对象。
      • cv::Mat::Mat(int rows, int cols, int type, const Scalar& scalar): 创建一个指定行数、列数、数据类型和填充常量的cv::Mat对象。
      • cv::Mat::fromFile(const String& filename, int type): 从文件中读取图像并创建一个cv::Mat对象。
    2. 访问和修改元素

      • cv::Mat::at(int i, int j): 访问指定位置的元素。
      • cv::Mat::at(int i, int j, T& value): 修改指定位置的元素值。
      • cv::Mat::clone(): 克隆cv::Mat对象。
    3. 矩阵运算

      • cv::Mat::resize(int new_rows, int new_cols): 调整矩阵大小。
      • cv::Mat::rotate(double angle): 进行顺时针旋转。
      • cv::Mat::transpose(): 求转置矩阵。
      • cv::Mat::inv(): 求逆矩阵。
    4. 通道和类型操作

      • cv::Mat::channels(): 获取通道数。
      • cv::Mat::type(): 获取矩阵的数据类型。
      • cv::Mat::convertTo(cv::Mat&dst, int rtype): 转换为其他数据类型的矩阵。
    5. 文件读写

      • cv::imread(const String& filename, int flags): 从文件中读取图像并返回cv::Mat对象。
      • cv::imwrite(const String& filename, const cv::Mat& src): 将图像写入文件。
    6. 并行处理

      • cv::parallel_for_(const Range& range, const Handler& handler): 并行处理cv::Mat对象的每个元素。
    7. 显示

      • cv::imshow(const String& winname, const cv::Mat& mat): 在窗口中显示图像。
      • cv::waitKey(int delay = 0): 等待用户按键或指定延迟时间后窗口自动刷新。

     

     

  • 相关阅读:
    RedisSyncer 中采用链式策略处理同步数据
    jira获取issue条目transitions id,以用来进行流转实用脚本
    Sui主网升级至V1.10.1版本
    万界星空科技/生产制造执行MES系统/开源MES/免费MES
    Django中如何让DRF的接口针对前后台返回不同的字段
    android AudioRecord
    jQuery使用的简单总结
    8.JavaScript-注释
    部署项目遇到的各种问题总结
    iOS描述文件(.mobileprovision)一键申请
  • 原文地址:https://blog.csdn.net/anananajiushiwo/article/details/132880544