OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 90|回复: 9

OV5640能否是实现滑动窗口

[复制链接]

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-8-13
在线时间
16 小时
发表于 7 天前 | 显示全部楼层 |阅读模式
1金钱
能否在2592*1944像素上,裁剪480*800像素送入LCD进行显示,并且改变起始坐标,选择传感器上任意的480*800像素窗口

最佳答案

查看完整内容[请看2#楼]

虽然摄像头对了,但是没找到你图中的代码,比如搜不到g_curline。 从函数的代码来看: u8 OV5640_OutSize_Set(u16 offx,u16 offy,u16 width,u16 height); 改变 offx、offy应是不会影响输出图像的宽和高的。 我也暂时没办法,没有相同的硬件,只能建议多作尝试,比如利用usmart将参数试个遍。 (记得曾经看过一个说法是某个参数必须是4的整数倍) 还有个问题,offy在图像的上方和下方是一样的,offx也是左右相等,这样的缩 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3364

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8570
金钱
8570
注册时间
2020-5-11
在线时间
3984 小时
发表于 7 天前 | 显示全部楼层
本帖最后由 LcwSwust 于 2025-3-25 17:06 编辑
有理同学2 发表于 2025-3-25 14:53
就是这里,只要改变y偏移,就不能满屏输出了
但是我没改输出窗口呀,预想中应该要自动缩放到满屏才对

...

虽然摄像头对了,但是没找到你图中的代码,比如搜不到g_curline。
从函数的代码来看:
u8 OV5640_OutSize_Set(u16 offx,u16 offy,u16 width,u16 height);
改变 offx、offy应是不会影响输出图像的宽和高的。
我也暂时没办法,没有相同的硬件,只能建议多作尝试,比如利用usmart将参数试个遍。
(记得曾经看过一个说法是某个参数必须是4的整数倍)
还有个问题,offy在图像的上方和下方是一样的,offx也是左右相等,这样的缩放其实中心点只在中心;
例如:不能单独缩放右上角区域。
假如想单独缩放右上角区域,估计得配合OV5640_ImageWin_Set,考虑一下是否换个方案。
还有就是DCMI的函数会改变OV5640的设置,要小心。

傲游截图20250325164940.jpg

傲游截图20250325170504.jpg

专治疑难杂症
回复

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-8-13
在线时间
16 小时
 楼主| 发表于 7 天前 | 显示全部楼层
我有原子哥F429和H743的板子,无法改出这个效果 @正点原子
回复

使用道具 举报

12

主题

3364

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8570
金钱
8570
注册时间
2020-5-11
在线时间
3984 小时
发表于 7 天前 | 显示全部楼层
有代码吗?能看到操作了OV5640哪些寄存器的那种?
专治疑难杂症
回复

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-8-13
在线时间
16 小时
 楼主| 发表于 6 天前 | 显示全部楼层
LcwSwust 发表于 2025-3-24 16:49
有代码吗?能看到操作了OV5640哪些寄存器的那种?

用的是F429的例程,480*800 RGB屏幕
uint8_t ov5640_outsize_set(uint16_t offx,uint16_t offy,uint16_t width,uint16_t height);
uint8_t ov5640_image_window_set(uint16_t offx,uint16_t offy,uint16_t width,uint16_t height);

这两个函数设置的窗口不符合预期

例如test.c中,调整预缩放窗口偏移,但是不改变输出窗口大小:
        OV5640_OutSize_Set(4,0,lcddev.width,outputheight);                能够满屏幕显示
改为
        OV5640_OutSize_Set(4,50,lcddev.width,outputheight);                屏幕会少掉90行输出,而不是拉伸图像


ov5640_outsize_set的行为也不可预测,经常花屏或者不工作

实验34 摄像头实验.rar

258.38 KB, 下载次数: 2

回复

使用道具 举报

12

主题

3364

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8570
金钱
8570
注册时间
2020-5-11
在线时间
3984 小时
发表于 6 天前 | 显示全部楼层
有理同学2 发表于 2025-3-25 11:08
用的是F429的例程,480*800 RGB屏幕
uint8_t ov5640_outsize_set(uint16_t offx,uint16_t offy,uint16_t ...

附件发错了吧,打开看是OV7725,不是OV5640
专治疑难杂症
回复

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-8-13
在线时间
16 小时
 楼主| 发表于 6 天前 | 显示全部楼层
LcwSwust 发表于 2025-3-25 12:18
附件发错了吧,打开看是OV7725,不是OV5640

抱歉,好几个搞混了

实验37 摄像头实验.rar

550.07 KB, 下载次数: 2

回复

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-8-13
在线时间
16 小时
 楼主| 发表于 6 天前 | 显示全部楼层
LcwSwust 发表于 2025-3-25 12:18
附件发错了吧,打开看是OV7725,不是OV5640

就是这里,只要改变y偏移,就不能满屏输出了
但是我没改输出窗口呀,预想中应该要自动缩放到满屏才对

如果改变x偏移,就能看到裁剪和自动缩放效果
捕获.PNG
回复

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-8-13
在线时间
16 小时
 楼主| 发表于 5 天前 | 显示全部楼层
LcwSwust 发表于 2025-3-25 17:02
虽然摄像头对了,但是没找到你图中的代码,比如搜不到g_curline。
从函数的代码来看:
u8 OV5640_OutSi ...

好的谢谢,我再研究看看
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2025-3-18
在线时间
2 小时
发表于 昨天 16:31 | 显示全部楼层
这个问题解决了吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-3-31 07:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表