[old] OpenCV学习记录(C++版本)
HighGUI组件
-
图像的载入:imread()函数
Mat imread(const string& filename, int flag = 1)
其中flag=1代表读入RGB彩色图像,-1表示读取原始图像,0表示读取灰度图(TODO表格)
-
图像的显示:imshow()函数(改变窗口大小)
imshow时改变窗口大小,
ScreenShot from CSDN
string winname = "Wind";
namedWindow(winname, 0);//这个0是何意义呢?
resizeWindow(winname, 640, 480);
void imshow(const string& winname, InputArray mat)
waitKey()函数原型 int cv:waitKey(int delay=0)
- delay ≤0 无限延时
- delay > 0时,延时delay 毫秒
- 延时期间,如果有键按下,则返回键值(Esc对应的键值为27)
- 没有键按下,则返回-1
- 延时期间,如果有键按下,则返回键值(Esc对应的键值为27)
-
图像的保存:imwrite()函数
OpenCV彩色图像的存储顺序为BGR
OpenCV保存视频的格式只能为AVI -
cvtColor 将图像转换到另一个颜色空间
cvtColor(src, dst, code)
应用场景:- COLOR_BGR2RBG
- COLOR_BGR2GRAY 将彩色图转换为灰度图
- COLOR_BGR2YCrCb 对彩色图像的亮度通道进行处理
数据结构与基本绘图
- 在图像的指定坐标点处画一个圆圈:
cv::circle(img, Point, radius, color)
必选参数为:图像、点坐标、圆的半径和颜色
其中typedef Point2i Point
构造函数Point(x, y) - 在图像中两点画一条直线:
cv::line(img, point1, point2, color)
必选参数:图像,点1和点2,颜色;可选参数:thinkness, lineType和shift是啥 - Rectangle()
- putText()
Size(width, height)
图像的尺寸/大小