我正在嘗試在 Mac 上的 Jupyter Notebook 中使用 OpenCV 操作后保存過濾/混合圖像。一切都很好,直到我嘗試保存圖像。我嘗試將其保存為 .jpg、.bmp。和.png。我已經嘗試了其中的每一個,并將圖像乘以 255,而不是乘以。結果保存的文件是全黑還是全白,這取決于我是否乘以 255。im1 = cv2.imread(im1_file, cv2.IMREAD_GRAYSCALE)im1 = cv2.cvtColor(im1, cv2.COLOR_BGR2GRAY) / 255.0# filtering and cropping operationscv2.imwrite('hybrid_image.jpg', cropped_image*255)我還嘗試將其“轉換”回 bgr 圖像。但它給出了一個錯誤'depth' is 6 (CV_64F)cropped_image_255 = cropped_image*255.0convertedimage = cv2.cvtColor(cropped_image_255, cv2.COLOR_GRAY2BGR)cv2.imwrite('hybrid_image.bmp', convertedimage)
1 回答

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
解決您的問題的方法是在保存之前將 Image 類型轉換為無符號 8 位整數。
您可以替換以下行:
cv2.imwrite('hybrid_image.jpg', cropped_image*255)
和
cropped_image = cropped_image * 255 # Still (can be) floats
cv2.imwrite('hybrid_image.jpg', cropped_image.astype(np.uint8))
請確保在轉換為np.uint8您的圖像之前沒有任何高于 255 的數字。否則,OpenCV 會將它們鉗制為白色像素(255 值)。
添加回答
舉報
0/150
提交
取消