ov5642图像旋转方法
2018-03-02 16:03
489 查看
关于图像旋转问题,参考芯片手册,可以得知:与图像旋转相关的寄存器有0x3818,0x3621,0x3801。
其中0x3818直接控制旋转,修改之前0x3818的值是:0xC1(二进制:11000001),第5位是0,第6位是1,说明图像经过了镜像但没有做翻转处理,实际效果是:图像是上下翻转,左右颠倒的。因此要想把图像转过来需要做如下处理:不经过镜像但是要做翻转处理,那么0x3818寄存器就要修改成0xA1(二进制:10100001)。做完这一步图像可以上下翻转过来了,并且左右也正常,但是存在亮度偏暗问题。如上图手册中说:“for the mirror function, it is also necessary to set registers0x3621[5:4] and 0x3801”。因此,图像偏暗问题可能和0x3621[5:4]和0x3801有关。我们先看0x3621相关内容:
只有这两处说明,并没有具体提到0x3621[5:4]。不过,既然手册中说修改0x3818[6:5]后,也要跟着修改0x3621[5:4],所以,我们先看一下修改之前0x3621的值,查看源码发现修改之前0x3621的值是0x87(二进制:10000111),第4位和第5位都是0。那么,要修改0x3621[5:4],无非就有以下三种可能0xa7(二进制:10100111),0xb7(二进制:10110111),0x97(二进制:1010111)。我们挨个试就可以了,事实证明,0xa7是对的。再来看一下0x3801相关内容:
上图说0x3801是水平起点低字节,0x3800是水平起点高字节。不太明白啥意思,不过,从字面意思看,应该和亮度关系不大,先不动它。事实证明,它的值确实不影响亮度。
其中0x3818直接控制旋转,修改之前0x3818的值是:0xC1(二进制:11000001),第5位是0,第6位是1,说明图像经过了镜像但没有做翻转处理,实际效果是:图像是上下翻转,左右颠倒的。因此要想把图像转过来需要做如下处理:不经过镜像但是要做翻转处理,那么0x3818寄存器就要修改成0xA1(二进制:10100001)。做完这一步图像可以上下翻转过来了,并且左右也正常,但是存在亮度偏暗问题。如上图手册中说:“for the mirror function, it is also necessary to set registers0x3621[5:4] and 0x3801”。因此,图像偏暗问题可能和0x3621[5:4]和0x3801有关。我们先看0x3621相关内容:
只有这两处说明,并没有具体提到0x3621[5:4]。不过,既然手册中说修改0x3818[6:5]后,也要跟着修改0x3621[5:4],所以,我们先看一下修改之前0x3621的值,查看源码发现修改之前0x3621的值是0x87(二进制:10000111),第4位和第5位都是0。那么,要修改0x3621[5:4],无非就有以下三种可能0xa7(二进制:10100111),0xb7(二进制:10110111),0x97(二进制:1010111)。我们挨个试就可以了,事实证明,0xa7是对的。再来看一下0x3801相关内容:
上图说0x3801是水平起点低字节,0x3800是水平起点高字节。不太明白啥意思,不过,从字面意思看,应该和亮度关系不大,先不动它。事实证明,它的值确实不影响亮度。
相关文章推荐
- leetCode 48.Rotate Image (旋转图像) 解题思路和方法
- Qt绘图,显示图片图像,平移,缩放,旋转和扭曲图片的方法
- [RK3288][Android6.0] 调试笔记 --- USB Camera旋转图像方法
- C#控制图像旋转和翻转的方法
- 最近邻方法进行图像旋转 c++代码 旋转后图像内容无损失
- leetCode 48.Rotate Image (旋转图像) 解题思路和方法
- OpenCV4Android中的图像旋转另一方法
- 【转】 Qt绘图,显示图片图像,平移,缩放,旋转和扭曲图片的方法 声明:本
- 另一种VB图像旋转的方法
- Qt可显示基本的图像类型,利用QImage、QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放、旋转)。
- CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
- 图像旋转在opencL 实现方法
- 海思图像旋转90度方法
- python opencv对图像进行旋转且不裁剪图片的方法
- Adobe Acrobat “正在纠偏图像,正在旋转图像,正在分解页面”解决方法
- zxing 竖屏 图像旋转90度 解决方法
- CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
- MPR在旋转轴线时图像周围出现灰色边界的解决方法
- 横向比较图像标注中的两种基于近邻思想的方法 TagProp和SGSSL
- Android 屏幕旋转后防止重新执行onCreate的方法。