学习opencv(1)

目录

  • CV_8UC3
  • Scalar--颜色赋值
  • using namespace cv找不到命名空间
  • waitKey()
  • getTickCount()
  • 引用

CV_8UC3

a) 存放单通道图像中像素:Scalar(255)

b) 存放三通道图像中像素:Scalar(255,255,255);

Scalar--颜色赋值

预定义类型的结构:
CV_ (S|U|F)C

(1) bit_depth---比特数---代表8bite\16bite\32bite\64bite
eg:8表示你所创建的储存图片的Mat对象中,每个像素点在内存空间所占的空间大小8bite。

(2) S|U|F
S: signed int,即有符号整型;
U: unsigned int,即无符号整型;
F: float,单精度浮点型。

(3) C :所存储的图片的通道数。
eg 1---grayImg灰度图像---是---单通道图像
2---RGB彩色图像---是---3通道图像
3---带Alpha通道的RGB彩色图像---是---4通道图像

using namespace cv找不到命名空间

# include "pch.h"要放到最前面

waitKey()

waitKey()函数详解
1--waitKey()--这个函数是在一个给定的时间内(单位ms)等待用户按键触发;如果用户没有按下 键,则接续等待(循环)
2--如下所示: while(1){ if(waitKey(100)==27)break; } 在这个程序中,我们告诉OpenCv等待用户触发事件,等待时间为100ms,如果在这个时间段内, 用户按下ESC(ASCII码为27),则跳出循环,否则,则跳出循环
3--如果设置waitKey(0),则表示程序会无限制的等待用户的按键事件

getTickCount()

在OpenCV编程中,可能会遇到比较不同算法之间的运算复杂度及时耗的问题,下面给出一个统计代码运行时间的demo,里面用到getTickCount函数,使用时需要添加头文件#include "opencv2/imgproc/imgproc.hpp"。

#include
#include 
#include "opencv2/imgproc/imgproc.hpp"
 
using namespace cv;
using namespace std;
 
int main(){
    double t = (double)getTickCount();//开始时间
    for (int i = 0; i <= 1000; i++){}//可替换成其他代码
    t = (double)getTickCount() - t;//代码运行时间=结束时间-开始时间
    printf("execution time = %gms\n", t*1000. / getTickFrequency());//转换时间单位并输出代码运行时间
    system("pause");//让dos界面停留
    return 0;
}

引用

1
2

你可能感兴趣的:(学习opencv(1))