学习opencv

Posted zzc2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习opencv相关的知识,希望对你有一定的参考价值。

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<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

以上是关于学习opencv的主要内容,如果未能解决你的问题,请参考以下文章

imgwarp.cpp:3143: error: (-215:Assertion failed) _src.total() > 0 in function ‘warpPerspective‘(代码片段

pyhton—opencv直线检测(HoughLines)找到最长的一条线

pyhton—opencv直线检测(HoughLines)找到最长的一条线

OpenCV VideoWriter 不写任何东西

OpenCV学习实践opencv代码学习实践入门

IOS开发-OC学习-常用功能代码片段整理