1. 程式人生 > >cv::imread()讀入bmp圖片出錯

cv::imread()讀入bmp圖片出錯

任意拍一張圖片(通常是JPG格式),在電腦畫圖工具中轉成24位bmp影象,載入到VS中會直接報錯。

在VS中的載入函式:

cv::Mat img = cv::imread("circleArray.bmp", 0);//flag=0,轉化為單通道灰度圖

cv::imread()中flag=0時,直接將24位bmp圖轉成8位bmp圖,但是前提是原24位bmp圖需要RGB分量相同(即img(:,:,1)==img(:,:,2)==img(:,:,3))。

為此,可以在matlab中將畫素點的RGB設定一致,一般地,img(:,:,2)=img(:,:,1);img(:,:,3)=img(:,:,1);