OpenCV是Intel贡献出来的
imread(读取图片)
cvtcolor(颜色空间转换)
imwrite(存储图片)
//确保RGB值保持在0到255之间
//saturate_cast<uchar>(-100), 返回0
//saturate_cast<uchar>(288), 返回255
//saturate_cast<uchar>(100), 返回100
//创建3*3的模板
Mat kernel = (Mat_<char>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
filter2D 增强对比度
double start = getTickCount();
double res= (getTickCount() - start) / getTickFrequency();
//Scalar
//首先单词scalar的意思是标量,但是我们经常可以看到Scalar是包含多个值的,很像是一个向量,这是怎么回事呢?
typedef struct Scalar
{
double val[4];
}Scalar;
//可以看到,Scalar是一个由长度为4的数组作为元素构成的结构体,Scalar最多可以存储四个值,没有提供的值默认是0。
Mat m(7, 7, CV_32FC2,Scalar(1,3)); //创建一个2通道,且每个通道的值都为(1,3),深度为32,7行7列的图像矩阵
//CV_32F表示每个元素的值的类型为32位浮点数,C2表示通道数为2,Scalar(1,3)表示对矩阵每个元素都赋值为(1,3)
//第一个通道中的值都是1,第二个通道中的值都是3.
U //unsigned int
S //signed int
F //float
CV_64FC3 // double 8个byte 3 个channel
convertTo() //图像的类型转换 CV_8U 到 CV_16U ,一个像素从占一个字节到2个字节
m: 目标矩阵
rType:目标矩阵类型,位深度(CV_8UC3, CV_32FC3)
cvtColor() 转换颜色空间, 转换通道数