图像学习1
在做QT网络接受原始视频流中踩过的坑。
由于刚初次接触网络图像数据传输,还是原始图像数据,都没有要分析数据源的组成,脑子里就没有这个概念,还一直吧原始数据当做压缩图像数据处理,导致Qt中一直显示不出图像。后来经过大佬们的点播,才走上正道。
下面我就分享一下我理解的图像数据的组成,有哪里说的不正确的,希望大家指出来。🤗
今天终于知道图像数据的组成方式了。
大家都知道图像或者视频都有分辨率
1. 图像数据组成
这里先说分辨率:width x height
例如一帧图像的分辨率是 1280 x 720
每帧图像数据都有图像格式,即该图像的像素点由什么格式组成,例如RGB565格式,RGB888格式。
在下文就RGB565 展开描述:
红 绿 蓝
(字节数)5 6 5
每个像素点由5+6+5位组成,也就是16位,2字节 在这里大家可以搜一下其他大佬的详细讲解哈!
每个像素点的大小是2字节,每帧图像有1280 x 720个像素点组成(联系上文)。
那么一帧图像的大小就是1280 x 720 x 2个字节组成
2. QT中使用QImage
然后我在QT中使用
在这里插入代码片
QString filename= QFileDialog::getOpenFileName(this,
tr("open image"),
".",
tr("Image file(*.png *.jpg *.bmp *.*"));
Mat image=imread(filename.toLocal8Bit().data());
// cvtColor(image,image,CV_BGR2RGB); //不是标准图像加载不出来,会报错
QImage img=QImage((const unsigned