为了账号安全,请及时绑定邮箱和手机立即绑定

opencv 保存过滤后的图像

opencv 保存过滤后的图像

呼如林 2022-07-12 18:25:28
我正在尝试在 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 值)。


查看完整回答
反对 回复 2022-07-12
  • 1 回答
  • 0 关注
  • 253 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号