摄像头图像黑边

lala37213   2009-9-17 09:45 楼主
   请问一下,我的摄像头像出来的图像左右2边有黑边。左边稍细,右边粗点。我是用的6410的开发板,摄像头数据是从saa7113输入的。问过开发板的技术支持,说有可能是行场不同步造成的,叫我们改下相关参数。我看了下saa7113的驱动,在头文件里面没找到相关参数,或者说没看出是哪个参数,希望解决过相关问题的高手给点建议,谢谢

回复评论 (18)

起始地址错误。检查下寄存器。saa7113的0x12、0x13、0x15、0x16这几个值你仔细看看。
7113的support很少因为做的太多了。NXP那边都不会给支持,只能自己对着spec试验
点赞  2009-9-17 09:53
输入图像尺寸和显示尺寸要匹配。
点赞  2009-9-17 10:07
引用: 引用 1 楼 xumercury 的回复:
起始地址错误。检查下寄存器。saa7113的0x12、0x13、0x15、0x16这几个值你仔细看看。
7113的support很少因为做的太多了。NXP那边都不会给支持,只能自己对着spec试验


   能不能简单的说一下,这几个值是起什么用的,要改的话,值的范围的话,我可以从datasheet上去查,但就是不知道会起到什么效果,如果用试探的话,那效率就。。。。要知道编译内核和烧写还是比较麻烦的
点赞  2009-9-17 10:11
引用: 引用 2 楼 gooogleman 的回复:
输入图像尺寸和显示尺寸要匹配。


你说的匹配是说,输入的多大,显示的就要多大吗?那岂不是不能缩放了。。
点赞  2009-9-17 10:12
引用: 引用 4 楼 qwqwqw408 的回复:
引用 2 楼 gooogleman 的回复:
输入图像尺寸和显示尺寸要匹配。


你说的匹配是说,输入的多大,显示的就要多大吗?那岂不是不能缩放了。。


要在寄存器那里设置的,以前我就是没有设置,结果图像很怪。
点赞  2009-9-17 10:16
提示: 作者被禁止或删除 内容自动屏蔽
点赞  2009-9-17 10:34
sensor端一般有两个重要的尺寸,点阵尺寸和输出尺寸。
点阵尺寸是感知图像的最大范围尺寸,常说的多大多大分辨率摄像头就是说的这个分辨率,输出尺寸是所谓拍照的分辨率,mcu端也有几个尺寸,输入尺寸和输出尺寸,输入尺寸必须和sensor端的尺寸一样,否则图像会有意想不到的效果^^,mcu输出尺寸可能是你要显示到屏上的尺寸,即摄像头预览时的尺寸,也可能是拍照的尺寸,这个尺寸可以和sensor输出尺寸一样或者更大(如果你的mcu支持这么大和支持scaler的话)。

有图像或者图像正常,只是两边有黑色,可以检查下sensor端是不是:( 水平起始像素位置 + sensor输出尺寸)>  (点阵尺寸的水平宽度)。如果说的图像是显示在屏上,可能是mcu输出水平尺寸小于屏幕的显示区域的水平尺寸,如果是拍下来的照片,可能是JPEG编码的尺寸和mcu输出尺寸不一致。场信号不同步是出不来图像的,当然可以试着改下行信号极性。之前做过摄像头驱动,共同探讨^^
点赞  2009-9-17 11:55
引用: 引用 7 楼 rockursoul 的回复:
sensor端一般有两个重要的尺寸,点阵尺寸和输出尺寸。
点阵尺寸是感知图像的最大范围尺寸,常说的多大多大分辨率摄像头就是说的这个分辨率,输出尺寸是所谓拍照的分辨率,mcu端也有几个尺寸,输入尺寸和输出尺寸,输入尺寸必须和sensor端的尺寸一样,否则图像会有意想不到的效果^^,mcu输出尺寸可能是你要显示到屏上的尺寸,即摄像头预览时的尺寸,也可能是拍照的尺寸,这个尺寸可以和sensor输出尺寸一样或者更大(如果你的mcu支持这么大和支持scaler的话)。

有图像或者图像正常,只是两边有黑色,可以检查下sensor端是不是:( 水平起始像素位置 + sensor输出尺寸)>? (点阵尺寸的水平宽度)。如果说的图像是显示在屏上,可能是mcu输出水平尺寸小于屏幕的显示区域的水平尺寸,如果是拍下来的照片,可能是JPEG编码的尺寸和mcu输出尺寸不一致。场信号不同步是出不来图像的,当然可以试着改下行信号极性。之前做过摄像头驱动,共同探讨^^


   不好意思,我不是做驱动开发的。所以你说的这几个参数是在哪看的。麻烦解释一下,感激不尽!
点赞  2009-9-17 12:09
这些参数可以查查芯片资料,找各自的fae也行,但至少也要看代码啊。我做的平台和你的不一样,所以再具体点的也说不上来,但原理总的来说是这样的。如果你说的图像是显示在屏上出的问题,可以先不改驱动,修改在测试应用程序中的水平显示尺寸位置试试
点赞  2009-9-17 13:45
引用: 引用 9 楼 rockursoul 的回复:
这些参数可以查查芯片资料,找各自的fae也行,但至少也要看代码啊。我做的平台和你的不一样,所以再具体点的也说不上来,但原理总的来说是这样的。如果你说的图像是显示在屏上出的问题,可以先不改驱动,修改在测试应用程序中的水平显示尺寸位置试试


修改位置我试过,大小我改成跟摄像头驱动的一样了。位置的话改成左上角(0,0),但是还是有黑边。估计是芯片参数没设置好。现在只能试探着设置,看能不能有点效果
点赞  2009-9-17 14:08
引用: 引用 3 楼 qwqwqw408 的回复:
引用 1 楼 xumercury 的回复:
起始地址错误。检查下寄存器。saa7113的0x12、0x13、0x15、0x16这几个值你仔细看看。
7113的support很少因为做的太多了。NXP那边都不会给支持,只能自己对着spec试验


?  能不能简单的说一下,这几个值是起什么用的,要改的话,值的范围的话,我可以从datasheet上去查,但就是不知道会起到什么效果,如果用试探的话,那效率就。。。。要知道编译内核和烧写还是比较麻烦的

怎么会很麻烦。你只需要build一下你改的部分就可以了。需要的话makeimg一下就over了。这个东西要反复调试的。

saa7113就是往寄存机器送初值init他,送的对起来图像就是对的。你init错了就显示错误。就这么简单。

你的情况我们出现过你要修订你的初始化参数。必须要读手册然后一个一个的参数试验下去。如果你们有支持的话。我们当时调试的时候花了差不多1个月才完全整定。

调视频显示是比较麻烦要有耐性。而且可以很明确的告诉你是saa7113 init的时候部分寄存器参数不对导致的。不同设备有不同的init值。
点赞  2009-9-17 16:56
active image的宽度问题。
点赞  2009-9-17 17:10
引用: 引用 12 楼 rushonin 的回复:
active image的宽度问题。


  恕我无知,请问active image是什么,表面上意思是活动的图像。。是指视频吗
点赞  2009-9-17 19:31
引用: 引用 11 楼 xumercury 的回复:
引用 3 楼 qwqwqw408 的回复:
引用 1 楼 xumercury 的回复:
起始地址错误。检查下寄存器。saa7113的0x12、0x13、0x15、0x16这几个值你仔细看看。
7113的support很少因为做的太多了。NXP那边都不会给支持,只能自己对着spec试验


?? 能不能简单的说一下,这几个值是起什么用的,要改的话,值的范围的话,我可以从datasheet上去查,但就是不知道会起到什么效果,如果用试探的话,那效率就。。。。要知道编译内核和烧写还是比较麻烦的

怎么会很麻烦。你只需要build一下你改的部分就可以了。需要的话makeimg一下就over了。这个东西要反复调试的。

saa7113就是往寄存机器送初值init他,送的对起来图像就是对的。你init错了就显示错误。就这么简单。

你的情况我们出现过你要修订你的初始化参数。必须要读手册然后一个一个的参数试验下去。如果你们有支持的话。我们当时调试的时候花了差不多1个月才完全整定。

调视频显示是比较麻烦要有耐性。而且可以很明确的告诉你是saa7113 init的时候部分寄存器参数不对导致的。不同设备有不同的init值。


   非常感谢你的指导,让我有了一个正确的尝试方向。虽然步骤比较麻烦,但是参数的意义除了设计芯片的人之外,其他人我想也只有这种途径来真正了解。只是我没那么多时间来一一尝试了。。悲剧
点赞  2009-9-17 19:34
引用: 引用 14 楼 qwqwqw408 的回复:
引用 11 楼 xumercury 的回复:
引用 3 楼 qwqwqw408 的回复:
引用 1 楼 xumercury 的回复:
起始地址错误。检查下寄存器。saa7113的0x12、0x13、0x15、0x16这几个值你仔细看看。
7113的support很少因为做的太多了。NXP那边都不会给支持,只能自己对着spec试验


?? 能不能简单的说一下,这几个值是起什么用的,要改的话,值的范围的话,我可以从datasheet上去查,但就是不知道会起到什么效果,如果用试探的话,那效率就。。。。要知道编译内核和烧写还是比较麻烦的

怎么会很麻烦。你只需要build一下你改的部分就可以了。需要的话makeimg一下就over了。这个东西要反复调试的。

saa7113就是往寄存机器送初值init他,送的对起来图像就是对的。你init错了就显示错误。就这么简单。

你的情况我们出现过你要修订你的初始化参数。必须要读手册然后一个一个的参数试验下去。如果你们有支持的话。我们当时调试的时候花了差不多1个月才完全整定。

调视频显示是比较麻烦要有耐性。而且可以很明确的告诉你是saa7113 init的时候部分寄存器参数不对导致的。不同设备有不同的init值。


?  非常感谢你的指导,让我有了一个正确的尝试方向。虽然步骤比较麻烦,但是参数的意义除了设计芯片的人之外,其他人我想也只有这种途径来真正了解。只是我没那么多时间来一一尝试了。。悲剧


兄弟。。。我们调7113的那一个月才叫惨。老大天天骂。我们最后调到看到7113都想吐的地步。最后还是弄出来了。。。哎。
点赞  2009-9-17 22:56
修改寄存器起始地址和结束地址 v_start v_stop,“裁剪”黑边。
点赞  2009-9-17 23:45
引用: 引用 15 楼 xumercury 的回复:
引用 14 楼 qwqwqw408 的回复:
引用 11 楼 xumercury 的回复:
引用 3 楼 qwqwqw408 的回复:
引用 1 楼 xumercury 的回复:
起始地址错误。检查下寄存器。saa7113的0x12、0x13、0x15、0x16这几个值你仔细看看。
7113的support很少因为做的太多了。NXP那边都不会给支持,只能自己对着spec试验


?? 能不能简单的说一下,这几个值是起什么用的,要改的话,值的范围的话,我可以从datasheet上去查,但就是不知道会起到什么效果,如果用试探的话,那效率就。。。。要知道编译内核和烧写还是比较麻烦的

怎么会很麻烦。你只需要build一下你改的部分就可以了。需要的话makeimg一下就over了。这个东西要反复调试的。

saa7113就是往寄存机器送初值init他,送的对起来图像就是对的。你init错了就显示错误。就这么简单。

你的情况我们出现过你要修订你的初始化参数。必须要读手册然后一个一个的参数试验下去。如果你们有支持的话。我们当时调试的时候花了差不多1个月才完全整定。

调视频显示是比较麻烦要有耐性。而且可以很明确的告诉你是saa7113 init的时候部分寄存器参数不对导致的。不同设备有不同的init值。


?? 非常感谢你的指导,让我有了一个正确的尝试方向。虽然步骤比较麻烦,但是参数的意义除了设计芯片的人之外,其他人我想也只有这种途径来真正了解。只是我没那么多时间来一一尝试了。。悲剧


兄弟。。。我们调7113的那一个月才叫惨。老大天天骂。我们最后调到看到7113都想吐的地步。最后还是弄出来了。。。哎。


   你们是出了什么严重的问题,需要这样天天调。。。我们这项目好紧的,现在马上就要到期交货了。。如果要调个几星期甚至一个月。。天呐,不敢想象
点赞  2009-9-18 09:45
引用: 引用 16 楼 jiazhen 的回复:
修改寄存器起始地址和结束地址 v_start v_stop,“裁剪”黑边。


这位兄台,这2个是指15H,16H这2个寄存器吗。
点赞  2009-9-18 09:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复