210319opencv图像的存储与显示
生活随笔
收集整理的這篇文章主要介紹了
210319opencv图像的存储与显示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一、學習的知識點
- 1.一個像素點由RGB三基色組成,位深度為24的圖片,基色的位數比為8:8:8,所以一個像素點占三個字節
- 2.opencv的Mat類存放圖片的格式是BGR格式,需要轉換成RGB格式
- 2.1方法一:使用opencv的函數
- 2.2方法二:使用QT的函數
- 3.將Mat類的數據存放到數組,并顯示
- 二、上課沒有聽懂或者沒有理解的地方
- 三、當天學習的收獲
一、學習的知識點
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));二、上課沒有聽懂或者沒有理解的地方
無
三、當天學習的收獲
了解到圖片數據存儲的原理
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的210319opencv图像的存储与显示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 210317阶段三opencv
- 下一篇: 21.5.8阶段四数据类型