目录
一、学习的知识点
1.一个像素点由RGB三基色组成,位深度为24的图片,基色的位数比为8:8:8,所以一个像素点占三个字节
2.opencv的Mat类存放图片的格式是BGR格式,需要转换成RGB格式
2.1方法一:使用opencv的函数
Mat pic_mat=imread("royal.jpg");
cvtColor(pic_mat,pic_mat,COLOR_BGR2RGB);
2.2方法二:使用QT的函数
Mat pic_mat=imread("royal.jpg");
QImage imge(pic_mat,pic_mat.cols,pic_mat.rows,pic_mat.step,QImage::Format_RGB888); //转换成RGB格式
ui->label->setPixmap(QPixmap::fromImage(imge));
3.将Mat类的数据存放到数组,并显示
Mat pic_mat=imread("royal.jpg");
cvtColor(pic_mat,pic_mat,COLOR_BGR2RGB);
uchar ImageArry[400*400*3]={0};
for(int i=0;i<pic_mat.rows;i++)
{
uchar* cur_ptr=pic_mat.ptr(i);
for (int j=0;j<pic_mat.cols;j++)
{
//ImageArry[i*400+3*j+0]=cur_ptr[3*j+0];
ImageArry[i*pic_mat.rows*3+3*j+0]=cur_ptr[3*j+0];
ImageArry[i*pic_mat.rows*3+3*j+1]=cur_ptr[3*j+1];
ImageArry[i*pic_mat.rows*3+3*j+2]=cur_ptr[3*j+2];
}
}
QImage imge(ImageArry,pic_mat.cols,pic_mat.rows,pic_mat.step,QImage::Format_RGB888);
ui->label->setPixmap(QPixmap::fromImage(imge));
二、上课没有听懂或者没有理解的地方
无
三、当天学习的收获
了解到图片数据存储的原理