图像显示 imshow()[OpenCV 笔记5]
void imshow(const string& winname InputArray mat);
winname
窗口表识名称
mat
需要显示的图像。InputArray类型,声明如下
typedef const _InputArray& InputArray;
_InputArray定义比较复杂,类里先定义了一个枚举,然后是各类的模版类型和一些方法。遇到InputArray/OutputArray类型,可以把它当作Mat类型处理。
图像大小缩放
如果窗口是用CV_WINDOW_AUTOSIZE(默认值)标志创建的,那么显示图像原始大小。否则,将图像进行缩放以适合窗口。
像素归一化
根据图像深度,:
- 8-bit unsigned: 显示图像本来的样子;
- 16-bit unsigned / 32-bit integer: 用像素值除以256,取值范围由[0,255x256]变为[0,255];
- 32-bit floating-point: 像素值乘以255, 取值范围由[0,1]变为[0,255]。
OpenGL支持
设置WINDOW_OPENGL标志,imshow支持ogl::Buffer、ogl::Texture2D、gpu::GpuMat。