[英]How can I lower the bit per pixel of image with OpenCV
我需要一張8 BPP(每像素位)的圖像來學習使用張量流的圖像分割。
下面是我的簡短代碼。
Mat Image;
Image = imread("Input.png",IMREAD_UNCHANGED);
** image synthesis process **
imwrite("C:\\Output.png", Image);
如果您對我的完整源代碼感到好奇,可以看一下我之前的要求。
如果在此狀態下檢查圖像輸出的bpp,則為24。
我該怎么辦?
為了給您提供信息,我已經嘗試過進行CV_8UC1之類的更正,但似乎效果不佳。
您可能正在讀取彩色圖像,每個像素的紅色,綠色和藍色分量有三個字節。
如果只需要8位圖像,則可以使用單個顏色分量。
如果需要以明智的方式對輸入圖像進行操作,請先將其轉換為灰度 :
cvtColor(src, bwsrc, cv::COLOR_RGB2GRAY);
而不是讀取默認格式的圖像,而是讀取灰度格式的圖像。
Mat Image;
Image = imread("Input.png",IMREAD_GRAYSCALE);
** image synthesis process **
imwrite("C:\\Output.png", Image);
您可以檢查此鏈接以獲取有關OpenCV圖像格式的詳細信息: https : //docs.opencv.org/3.0-beta/modules/imgcodecs/doc/reading_and_writing_images.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.