我正在研究拜耳原始(.raw 格式)图像域,我需要根据我的需要编辑像素(应用仿射矩阵)并将它们保存回 .raw 格式。所以有两个子问题。
我可以编辑像素,但可以将它们保存为 .raw 我正在使用一个名为 rawpy 的强大库,它允许我将像素值读取为 numpy 数组,而我尝试将它们保存回来我无法保留该值
rawImage = rawpy.imread('Filename.raw') // 这给出了一个 rawpy 对象
rawData = rawImage.raw_image //这将像素作为numpy数组
.
.//对rawData执行的一些操作,仍然是一个numpy数组
.
imageio.imsave('newRaw.raw', rawData)
这不起作用,抛出错误未知文件类型。有没有办法以 .raw 格式保存此类文件。
注意:我也试过这个: -
rawImageManipulated = rawImage
rawImageManipulated.raw_image[:] = rawData[:] //这会将新数据复制到 rawpy 对象上,但不会保存或保留分配的值。
- 旋转拜耳图像 - 我知道 rawpy 不处理这个,据我所知,任何其他 API 或库也不处理。opencv和pillow现有的图像旋转API在旋转时会改变亚像素。我怎么知道?经过一系列小旋转(例如,30 度旋转 12 次)后,当我回到 360 度旋转时,使用十六进制编辑器进行比较时,子像素并不相同。
这些问题有解决方案吗?我走错方向了吗?你能指导我吗?我目前正在使用 python 我对任何语言或堆栈的解决方案持开放态度。谢谢