一:颜色的表示:Scalar类
typedef struct Scalar
{
double val[4];
}Scalar;
Scalar常用的使用场景如下:
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。
二:尺寸的表示:Size类
Size(6,5); //构造出的Size的宽度为6,高度为5
三:矩形的表示:Rect类
- size()函数返回矩形的尺寸大小。返回类型为cv::Size。
- area()函数返回矩形的面积,也就是矩形包含的像素点个数。也就是矩形的(宽*高)的值。
- contains(Point)能检测点是否在矩形内。
- inside(Rect)检测矩形是否在矩形内。
- tl()返回矩形左上角的点坐标。即top-left。
- br()返回矩形右下角点坐标。即bottom-right。
四:颜色空间转换:cvtColor()函数
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat srcImage = imread("1.jpg",1),dstImage;
cvtColor(srcImage, dstImage, COLOR_BGR2GRAY);
imshow("window", dstImage);
waitKey(0);
return 0;
}