几种数据类型
- 点的表示: Point 类,可表示 2D 点,3D 点
- 颜色的表示:Scalar 类,有4个元素,RGB 值和 Alpha 值,Alpha 可不写出
- 尺寸的表示:Size 类
Size(5, 5); // 构造出的宽度和高度都为 5
- 矩形的表示:Rect 类,矩形有 x, y, width, height 成员
// 矩形求交集和并集 Rect rect = rect1 & rect2; Rect rect = rect1 & rect2; // 如果想让矩形进行平移和缩放,可这样写: rect = rect + point; rect = rect + size;
颜色空间转换 cvtColor() 函数
cvtColor() 函数是 OpenCV 里的颜色空间转换函数,可以实现 RGB 颜色向 HSV、HSI 等颜色空间的转换,也可以转换为灰度图像
// 将原始图像转化为灰度图
cvtColor(srcImage, dstImage, CV_BGR2GRAY); // Opencv2 写法
cvtColor(srcImage, dstImage, COLOR_BGR2GRAY); // Opencv3 写法
例如:
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char const *argv[])
{
Mat srcImage = imread("1.jpg"), dstImage;
cvtColor(srcImage, dstImage, COLOR_BGR2GRAY);
imshow("结果", dstImage);
waitKey(0);
return 0;
}
运行结果
image.png计时函数
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main(int argc, char const *argv[])
{
double time0 = static_cast<double>(getTickCount());
// 进行图形处理...
time0 = ((double)getTickCount() - time0)/getTickFrequency();
std::cout << "此方法运行时间为:" << time0 << " s" << std::endl;
}
网友评论