嵌入式开发者社区

标题: ov2640设置咨询 [打印本页]

作者: bit0rain    时间: 2014-12-23 17:06
标题: ov2640设置咨询
我使用了tl2640-a2模块,现在想把它按如下方式设置:cif(60fps),关闭白平衡,yuv输出。请问应该如何设置,谢谢!
1 j  ?2 D3 |9 X; g# N8 p
) R; C+ ^, A/ l! {( B5 u
作者: Lewis    时间: 2014-12-24 18:35
下面是JPEG输出时的设置,可以参考修改成YUV输出CIF 352*288$ C; ]5 u$ c. v+ y8 L: b
const unsigned char OV2640_YUV422[][2]=
) U6 h6 R7 G" f{- [7 w% w3 g) D. @0 b9 K
  0xFF, 0x00,6 A4 |4 K, ~7 f) Y5 Z
  0x05, 0x00,
  B- @9 _' p4 Q, u% Z' a  0xDA, 0x10,; k* b- u2 ]4 D" f
  0xD7, 0x03,' b# p$ k! i2 p8 A3 h
  0xDF, 0x00,
1 T; ~+ n0 b. \, k7 L  0x33, 0x80,4 Z$ s( m& b4 }. c( ^  ?. u" o5 x
  0x3C, 0x40,
* j8 A/ ?4 K' r) B& k  0xe1, 0x77,
. x7 O8 s* s( @2 _8 R8 y' ^" C  0x00, 0x00,
% `. A+ t" n: T, w( D};! E6 n; t' o: ^7 L0 @
1 J9 W. y% q  B% M
/* JPG 352x288 */: P* e: J/ I- o/ {
const unsigned char OV2640_352x288_JPEG[][2]=
9 Q1 @9 {& U# K  C8 P4 K{
  J0 @" _, L" x( i  0xff, 0x01,
& Q2 P! r  F& q& ?" s% U, Q/ ]  0x12, 0x40,
1 {5 E' Q+ g- B) A) p  0x17, 0x11,
6 p/ [2 Y/ ^& i3 k" I+ ?  0x18, 0x43,
* e1 B. U5 v% q  z  0x19, 0x00,0 |" z9 j( \/ f
  0x1a, 0x4b,
3 n5 H5 ~! ^% N  0x32, 0x09,5 i8 }" q) m3 j- x* e
  0x4f, 0xca,
- K$ P8 [3 Y! @  p5 }' z  0x50, 0xa8,( v# E! o" u; @- y* P" C
  0x5a, 0x23,4 X" f; S1 m% T4 T* |) v, Y! u- g7 }
  0x6d, 0x00,1 g, d; {' G: f0 |
  0x39, 0x12,$ }9 G% o: o9 P/ H# D) A7 Z
  0x35, 0xda,
! \4 V% @8 Y' ^" E! h0 U  0x22, 0x1a,6 ?; s( t7 y' L) T( V. K3 F$ m2 R9 D
  0x37, 0xc3,' \, M- b* X) q7 j! c
  0x23, 0x00,
% R8 P* F( I2 ?1 T9 V2 Z; V  0x34, 0xc0,& u. m* U; s- A
  0x36, 0x1a,
8 {9 E6 l# D- i1 H( x0 E$ z  0x06, 0x88,
+ h' q' y" `! H' `; ^3 ]2 D2 v! x  0x07, 0xc0,5 b/ |* X% i! z, O. V" K
  0x0d, 0x87,( P, ~" A5 ]) l1 Q  w- w
  0x0e, 0x41,
) W' J2 W1 L! v& u6 I4 T0 b  0x4c, 0x00,, w: F9 i: z: S" n3 T

+ K( z8 s3 h7 v: F2 D  0xff, 0x00,  p+ G- G/ N1 P/ `
  0xe0, 0x04,4 n% I2 Y- T; i/ e# o: i, n
  0xc0, 0x64,5 e: L0 C6 r% O
  0xc1, 0x4b,; J  w; r- w8 k/ b. i( |$ _) C
  0x86, 0x35,: Y- V, O* |9 [& j0 W* I0 I
  0x50, 0x89,- W3 ?6 n1 l- g1 R- x( L( q
  0x51, 0xc8,! [1 O  J" ^; q, L/ t
  0x52, 0x96,! q5 Q4 n5 q5 |; b
  0x53, 0x00,1 K) ]% U( v+ `8 r  H7 C
  0x54, 0x00,, n. D: {, e/ V- M3 Z
  0x55, 0x00,
: n9 W! T/ Z: n  0x57, 0x00,
1 K6 x/ g  B, D6 U! w# S; C$ i  0x5a, 0x58,# m4 J8 ~, `$ I- U
  0x5b, 0x48,
/ s8 C& B, X- H# D0 `  0x5c, 0x00,
$ b, {7 v" h, P' U  0xe0, 0x00,
  v9 R0 \5 Q5 @, v% f1 W+ W, V};; @2 a) h1 X2 C
关闭黑白平衡write_SCCB(0xc7, 0x40); //AWB off
' C6 b  g. |9 B2 L, H3 f4 Z; M+ J参考OV2640 Software Application Notes1.03的Light Mode章节' }5 n; z! W( L
% x1 ~1 _( f% `' O

! b# q0 c4 }1 r. z+ \" b
作者: bit0rain    时间: 2014-12-25 09:14
本帖最后由 bit0rain 于 2014-12-31 15:10 编辑 8 b- Y6 U! {7 c7 k
Lewis 发表于 2014-12-24 18:354 m0 I/ @. S1 Z$ N# T: l' |2 [
下面是JPEG输出时的设置,可以参考修改成YUV输出CIF 352*288
; b2 \5 W8 H, ^4 z0 S1 Y! Pconst unsigned char OV2640_YUV422[][2]= ' _% u4 h8 Q% z7 F% ?) [* V
{

5 a) t0 M, l/ W7 i# j" Y 你好!
( v1 r7 t7 j  \2 B: V       我想将ov2640的帧率提高到30帧,参考software application1.03修改相关寄存器设置为30帧,程序开跑实测帧率只有16帧左右,请问如何解决?谢谢
  B  a' H' t& p) U- g- I" F. G
作者: Lewis    时间: 2014-12-31 17:42
可以将下面的if判断屏蔽,但这样会对c6748的显示有影响,但采集没问题
; {$ D  I) t; D- `# R6 Bif(i>=2)1 A6 h9 F* E# }* N
  {
& t/ A+ q" Y' I/ n! u* W. [6 j" h   VPIFCaptureChanenDisable(SOC_VPIF_0_REGS, VPIF_CHANNEL_1);
# M( [7 Q# ~+ \) g  i* W% I   VPIFCaptureChanenDisable(SOC_VPIF_0_REGS, VPIF_CHANNEL_0);' o: U) A5 |& ^+ @
   Qdma3();
, X! W4 ^( c2 j& [. x   i=0;
3 U. r4 Y' D$ C: P   /* Enable capture */$ i! b! h+ d" P6 _( a" H
   VPIFCaptureChanenEnable(SOC_VPIF_0_REGS, VPIF_CHANNEL_0);- R  U% Q6 O- Y# V3 J
   VPIFCaptureChanenEnable(SOC_VPIF_0_REGS, VPIF_CHANNEL_1);' ^/ s& n* T. k. v. d0 c9 k
  }
8 r0 x7 M( L+ I  u  i++;" l8 X6 [" x/ ^0 q" m/ ]
' L# m, \* l+ ^) B% `. W

作者: bit0rain    时间: 2014-12-31 21:54
Lewis 发表于 2014-12-31 17:428 g+ a* R; ?3 Z2 A0 i' i
可以将下面的if判断屏蔽,但这样会对c6748的显示有影响,但采集没问题9 F2 W# A' ^8 H$ ~) C; R! X! d- b
if(i>=2)  r! ]' R: k4 f
  {
4 t4 f3 P3 c5 h- x5 `% ?6 g* x
好的,谢谢lewis,我明天试试,新年快乐  E! s* i1 [3 [% e* Z+ k/ c7 H

作者: bit0rain    时间: 2015-1-3 21:06
基于FaceDetect项目已经将相关的设置改了,按照您说的方法屏蔽掉了Capture那部分代码,帧率提高了,可以到30帧,谢谢  _9 C) S2 |) `. @

作者: bit0rain    时间: 2015-1-3 21:16
准备结贴了,提高采集帧率可以参考Lewis提供的方法,我是在FaceDetect下修改的,帧率实测达到了30帧。此外需要做算法的兄弟们都希望用灰度,我这里提供一个仅供参考的方法,由于创龙的LCD的屏只支持RGB565的数据,如果用YUV的数据无法在屏幕上直接显示,而做算法的时候一般都需要提取Y分量(灰度),需要对RGB的数据进行转换,这是个比较耗时的工作,对于算法效率有比较大的影响。使用如下方法可以节省进行颜色空间转换的程序:一、设置ov2640的模式为B&W,此时你可以看到LCD的显示变成黑白的了,即ov2640输出灰度图像R=G=B;二、提取任意分量作为算法参考值,G分量有更高的精度,B分量可以使算法更快。这种方法适用于不要求显示彩色图像的场合下,希望对各位有借鉴作用。结贴
9 p1 K* D  Z6 Q. e% |5 r& s
作者: CrazyXiao    时间: 2016-12-1 14:01
@bit0rain。您好,我也想知道配置0v2640的代码。。。还是ciff分辨率rgb565格式的格式?  _7 J: w9 T; m1 l

作者: CrazyXiao    时间: 2016-12-1 14:02
设置成B&W模式后的数据是什么格式?




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4