camera问题呀!!???

tjj104923185   2008-8-19 11:42 楼主
我的摄像头分辨率是720*288的,使用camera 接口输入,在7寸TFT上显示(800*480),调试时发现,水平方向左右两端的图像缺失,不能完整显示,其他的正常。请问这是啥原因??高手指点,急!!!

回复评论 (28)

有图吗?贴出来看看
点赞  2008-8-19 16:33
代码啊,图片啊,设计思路啊,贴出来人家才好分析啊。
点赞  2008-8-19 17:31
我也想做,可惜我还没有到你的水平,
点赞  2008-8-20 12:54
你的camIF 的sourcesize_x/y和target-x/y是怎么设置的?
你拍照下来的图片是正常的吗?
ps问一句: 你怎么知道水平方向左右两端的图像缺失的?
点赞  2008-8-20 13:58
------------我想请教大家个问题:驱动开发好以后如果想要图像显示出来要用什么来开发?我记得在Windows状态下需要借助direcshow的。我很想知道在wince下是怎么做的。
点赞  2008-8-20 14:03
怎么我刚才的回复没有了?

重复一下:
你的sourcesize_x/y和targetsize_x/y怎么设置的啊?
另外你拍照下来的图片对吗?
点赞  2008-8-20 14:30
楼上使用什么ARM芯片?我看到2440官方有Camera驱动哦。我下周也Camera一下
点赞  2008-8-20 14:45
引用: 引用 5 楼 gooogleman 的回复:
------------我想请教大家个问题:驱动开发好以后如果想要图像显示出来要用什么来开发?我记得在Windows状态下需要借助direcshow的。我很想知道在wince下是怎么做的。


用WriteFile/ReadFile/DeviceIoControl函数来对驱动操作啊!
点赞  2008-8-20 16:18
引用: 引用 8 楼 billy14 的回复:
引用 5 楼 gooogleman 的回复:
------------我想请教大家个问题:驱动开发好以后如果想要图像显示出来要用什么来开发?我记得在Windows状态下需要借助direcshow的。我很想知道在wince下是怎么做的。


用WriteFile/ReadFile/DeviceIoControl函数来对驱动操作啊!


这个我明白,我的意思是说,视频数据是比较大的,在Windows下要使用directshow这个东西。
如果ARM平台直接读写视频数据会不会很耗ARM资源,甚至导致ARM死机?
点赞  2008-8-20 16:37
应用怎么写,我就不知道了,不过按理是要用到directshow的。

驱动调试的时候,我就直接把preview的rgb数据扔到lcd 的framebuffer里,看看对不对。
拍照codec的数据我没存过,后面就用应用程序来调试的。

不过应该也可以在驱动里做,存到文件里,.yuv格式的,然后用yuv工具来看,呵呵,仅仅简单调试的话

点赞  2008-8-20 17:06
引用: 引用 10 楼 yy080808 的回复:
驱动调试的时候,我就直接把preview的rgb数据扔到lcd 的framebuffer里,看看对不对。


嗯,我记得我以前开发的camera驱动好像也是直接把preview的数据直接放到framebuffer里的,这个应该是没问题的,不过好像在内存复制的时候要在kernel模式低下进行的,具体想不起来的,不过这种方法肯定是可行的!
yy080808说的"拍照codec的数据"这个我也没用过,关注一下,还不知道怎么用它呢?
点赞  2008-8-20 23:18
引用: 引用 10 楼 yy080808 的回复:
驱动调试的时候,我就直接把preview的rgb数据扔到lcd 的framebuffer里,看看对不对。


嗯,我记得我以前开发的camera驱动好像也是直接把preview的数据直接放到framebuffer里的,这个应该是没问题的,不过好像在内存复制的时候要在kernel模式低下进行的,具体想不起来的,不过这种方法肯定是可行的!
yy080808说的"拍照codec的数据"这个我也没用过,关注一下,还不知道怎么用它呢?
点赞  2008-8-20 23:18
引用: 引用 10 楼 yy080808 的回复:
驱动调试的时候,我就直接把preview的rgb数据扔到lcd 的framebuffer里,看看对不对。


嗯,我记得我以前开发的camera驱动好像也是直接把preview的数据直接放到framebuffer里的,这个应该是没问题的,不过好像在内存复制的时候要在kernel模式低下进行的,具体想不起来的,不过这种方法肯定是可行的!
yy080808说的"拍照codec的数据"这个我也没用过,关注一下,还不知道怎么用它呢?
点赞  2008-8-20 23:18
大家好,我也是做摄像头的应用的,现在正在烦恼之中.我用的是三星2440开发扳.用了逻辑的摄像头,现在下了camtest2的代码,能用,但是我看不懂,所以也不会写.一点思路都没有,希望能找到一起做这个项目的人,一起学习一起研究.我的应用程序只要做出能显示,能捕捉图片就可以了.希望大家一起学习.
点赞  2008-8-21 11:36
昨天讨论,摄像头开发的人呢?
点赞  2008-8-21 14:57
//sourcesize_x/y
#define CAM_SRC_HSIZE                                (720)
#define CAM_SRC_VSIZE                                (288)
//target-x/y
#define PREVIEW_X                        (800)
#define PREVIEW_Y                        (480)
点赞  2008-8-21 18:01
在camera的驱动里把preview数据copy到framebuffer,这个方法是可行而且也比较简单。摄像头分辨率与TFT分辨率不一致,copy时就只好一行一行拷贝了,就样就容易做到对齐、反转等。这样做容易理解,但是这个方法不好。显示的位置就固定了,桌面上的图标就被覆盖了。这样做其实就不在wince的管理之下了。本来camera的驱动,主要是采集和变换,这样做camera的驱动还包含了显示。谁有更好的方法,欢迎交留,maxim@163.com。我用的是2440开发板,做了一个saa7113到camera的接口输入视频。
点赞  2008-8-21 20:13
引用: 引用 17 楼 arm7000 的回复:
在camera的驱动里把preview数据copy到framebuffer,这个方法是可行而且也比较简单。摄像头分辨率与TFT分辨率不一致,copy时就只好一行一行拷贝了,就样就容易做到对齐、反转等。这样做容易理解,但是这个方法不好。显示的位置就固定了,桌面上的图标就被覆盖了。这样做其实就不在wince的管理之下了。本来camera的驱动,主要是采集和变换,这样做camera的驱动还包含了显示。谁有更好的方法,欢迎交留,maxim@163.com。我用的是2440开…


跟我的方案好像是一样的.记得当时还遇到一个问题就是插拔视频口的时候,视频图像会死掉,所以得一直去取有个状态寄存器的值,一出错就得重新复位camera和初始化工作,不知道楼上的是否也有这个问题啊,怎么解决的?
点赞  2008-8-21 22:30
我没去试过拔插视频口,你camer输入也用saa7113?
点赞  2008-8-22 08:29
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复