python - 使用python打开/读取带有颜色的rw2图像?
问题描述
有人可以用颜色打开这个原始文件吗?这是一张图片,我用 numpy、rawpy、fastrawviewer 等尝试了一切。我尝试用颜色打开几乎 3 天,但我失败了。
import numpy as np
import cv2
fd = open('img.rw2', 'rb')
ROWS = 2000
COLS = 2000
f = np.fromfile(fd, dtype=np.uint8,count=ROWS*COLS*4)
im = f.reshape((ROWS, COLS,4))
fd.close()
cv2.imshow('img.rw2', im)
cv2.waitKey()
cv2.destroyAllWindows()
解决方案
如果您的图像是 2000x2000 RGB,它将是 12,000,000 字节,但它是 16,000,000。所以试着把它读成 RGBA,而不是 RGB。
im = np.fromfile('img.raw', dtype=np.uint8).reshape((2000,2000,4))
[![在此处输入图像描述][1]][1]
如果图像保存为 RGBA,则需要更正 OpenCV 中的排序,因为这将使用 BGRA -use cv2.cvtColor()
。
推荐阅读
- java - 将不同类型的事件发布到不同的队列
- java - 自带最小化按钮效果
- php - htaccess url 重写漂亮的 url 在 Apache localhost 上不起作用
- css - 相对位置和溢出自动
- html - 如何转换 Xml 以在 html 页面中显示
- python - 行为:在步骤定义之外访问 context.config 变量
- integer-division - 使用整数运算找到最佳除法器
- python - Python - 将时间 ISO 8601 STRING 转换为 13 位 TIMESTAMP (MS),反之亦然
- javascript - Thymeleaf th:each 使用 javascript DOM 操作会导致奇怪的错误
- webpack - Webpack package.json 未运行