学习opencv(1)

CV_8UC3

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

Scalar--颜色赋值

预定义类型的结构:
CV_<bit_depth>(S|U|F)C<number_of_channels>
(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<number_of_channels>:所存储的图片的通道数。
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<iostream>
#include <opencv2/opencv.hpp>
#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

posted @ 2019-05-27 16:10  anmui  阅读(166)  评论(0编辑  收藏  举报