美文网首页
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