opencv中使用imread()讀入的圖像,始終為顯示為8位深度


  最近用opencv做中心線提取,保存的為16bit深度的灰度圖片,但使用imread()讀入的圖像都是8bit的GBR圖像。

造成這個問題的原因主要還是自己沒有仔細閱讀API函數的參數說明。

1 imread()參數說明
2   cv2.IMREAD_UNCHANGED = -1, //返回原通道原深度圖像
3   cv2.IMREAD_GRAYSCALE = 0, //返回單通道(灰度),8位圖像
4   cv2.IMREAD_COLOR = 1, //返回三通道,8位圖像,為默認參數
5   cv2.IMREAD_ANYDEPTH = 2, //返回單通道圖像。如果原圖像深度為16/32 位,則返回原深度,否則轉換為8位
6   cv2.IMREAD_ANYCOLOR = 4, //返回原通道,8位圖像。

  所以在導入圖像路徑后,后一個參數要說明導入圖像的類型。選擇cv2.IMREAD_ANYDEPTH/2作為第二個參數,

就能夠返回原來保存的圖片的深度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM