• 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): 等待用户按键或指定延迟时间后窗口自动刷新。

     

     

  • 相关阅读:
    【多线程 - 08、线程同步 synchronized】
    金仓数据库 KDTS 迁移工具使用指南 (5. SHELL版使用说明)
    RabbitMQ (四)高级队列
    rabbitMq死信队列
    Redis如何查看KEY的数据类型
    Mybatis——使用步骤
    分享15个国家的独特国际商业习俗
    【STM32】看门狗
    建造者模式
    element-plus中menu的基本知识点
  • 原文地址:https://blog.csdn.net/anananajiushiwo/article/details/132880544