如何解决原始图像编辑,旋转和另存为原始图像
我正在研究Bayer raw(.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和枕头的现有图像旋转Apis会在旋转时更改子像素。我怎么知道?经过一系列小的旋转(例如30度旋转12次),当我回到360度旋转时,使用十六进制编辑器进行比较时,子像素并不相同。
有没有针对这些问题的解决方案?我走错了方向吗?请您指导我。我目前正在使用python,我愿意接受任何语言或堆栈的解决方案。谢谢
解决方法
据我所知,出于充分的原因,没有一个库能够直接以Bayer模式格式旋转图像(如果这就是您的意思)。相反,您需要转换为RGB,然后再返回。 (如果您尝试将拜耳图案图像当作只是灰度位图来处理,则旋转的结果将是一场灾难。)
由于数字问题,累积旋转会破坏图像,并且整整旋转后您将永远无法获得原始图像。为了使损失最小化,请从原始角度开始旋转所有角度,并增加角度。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。