美文网首页
OpenCV 教程 04 : 常用数据结构和函数

OpenCV 教程 04 : 常用数据结构和函数

作者: wjundong | 来源:发表于2020-02-23 18:27 被阅读0次

    几种数据类型

    • 点的表示: Point 类,可表示 2D 点,3D 点
    • 颜色的表示:Scalar 类,有4个元素,RGB 值和 Alpha 值,Alpha 可不写出
    • 尺寸的表示:Size 类
      Size(5, 5);   // 构造出的宽度和高度都为 5
      
    • 矩形的表示:Rect 类,矩形有 x, y, width, height 成员
      // 矩形求交集和并集
      Rect rect = rect1 & rect2;    
      Rect rect = rect1 & rect2;
      // 如果想让矩形进行平移和缩放,可这样写:
      rect = rect + point;
      rect = rect + size;
      

    颜色空间转换 cvtColor() 函数

    cvtColor() 函数是 OpenCV 里的颜色空间转换函数,可以实现 RGB 颜色向 HSV、HSI 等颜色空间的转换,也可以转换为灰度图像

    // 将原始图像转化为灰度图
    cvtColor(srcImage, dstImage, CV_BGR2GRAY);      // Opencv2 写法
    cvtColor(srcImage, dstImage, COLOR_BGR2GRAY);   // Opencv3 写法
    

    例如:

    #include <opencv2/opencv.hpp>
    
    using namespace cv;
    
    int main(int argc, char const *argv[])
    {
        Mat srcImage = imread("1.jpg"), dstImage;
        cvtColor(srcImage, dstImage, COLOR_BGR2GRAY);
    
        imshow("结果", dstImage);
    
        waitKey(0);
        return 0;
    }
    

    运行结果

    image.png

    计时函数

    #include <opencv2/opencv.hpp>
    #include <iostream>
    
    using namespace cv;
    
    int main(int argc, char const *argv[])
    {
        double time0 = static_cast<double>(getTickCount());
        // 进行图形处理...
        time0 = ((double)getTickCount() - time0)/getTickFrequency();
        std::cout << "此方法运行时间为:" << time0 << " s" << std::endl;
    }
    

    相关文章

      网友评论

          本文标题:OpenCV 教程 04 : 常用数据结构和函数

          本文链接:https://www.haomeiwen.com/subject/elksqhtx.html