我正在從顯微鏡的圖像科學地工作,其中3個RGB通道的每一個都編碼爲uint16(0-65536)。目前我使用OpenCV2和NumPy的與圖像工作,並使用標誌「cv2.IMREAD_UNCHANGED」一切正常與讀取,我可以做在圖像上的一些工作,並返回到UINT16,Python:如何用16位通道保存圖像(例如48 RGB)?
img = cv2.imread('dummy.tif',cv2.IMREAD_UNCHANGED)
#do some work here
img = img.astype(numpy.uint16)
cv2.imwrite('processed.tif',img)
但是,到目前爲止,我似乎無法找到任何方法將處理後的圖像再次保存爲16位RGB。使用cv2.imwrite命令將圖像轉換爲uint8,從而將所有內容都變成白色(即,所有內容都被截斷爲255,即uint8通道的最大值)。
任何想法如何進行?
你是100%正確的 - 我不小心將我的圖像保存爲.bmp,因此丟失了16位...愚蠢的錯誤=) – Bjarke