找回密码
 注册
关于网站域名变更的通知
查看: 185|回复: 0
打印 上一主题 下一主题

【开发教程16】疯壳·AI语音人脸识别-AI人脸图像采集

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-10 16:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
CC3200AI实验教程
——疯壳·开发板系列
AI人脸图像采集
' f' R/ s  [+ Q

" ?) O7 u; D2 C; S4 R7 U, o* D; d$ d3 o2 A2 l: L

$ M; b! D) l6 a) `: S4 f' @
7 d3 x+ M6 U) L' |1 z; s  `
% D9 w; F2 d8 N7 K: z) ^    人脸图像采集硬件部分主要由CC3200和MT9D111摄像头组成。摄像头主要是作为人脸采集部分,CC3200则作为主控制核心。如图1.0.1所示为MT9D111摄像头模组的实物图。
: g/ h2 i2 J( y4 ]# X6 |- J. X! ]4 Y0 ^1 B
2 n$ `4 z( [' P$ i5 O2 q/ ^; E. n
    图1.0.1 MT9D111摄像头模组+ z7 n7 @5 t# C) I% j2 |4 y5 ^
    图1
8 Q( |0 N" ^8 |    MT9D111摄像头模组及其外围的原理图,如图1.0.2所示。# u8 c' b! f  O% m/ }6 K+ ]
- S! ?, g0 ~- G
   
6 y# y  T) Y( J. m- L" W3 a- y    图1.0.2 MT9D111及其外围原理图. w& w3 [" j( o5 g
    图25 [0 @- R. p0 q' b7 [$ E* v
    其中SDA为I2C数据、SCK为I2C时钟、PWDN摄像头工作状态选择、PCLK  像素点的时钟、MLKIN 是主时钟、RESET 复位引脚、VD为 列同步信号、HD为行同步信号、D0-D7 摄像头的并行数据口。
! ?& d3 b; \$ G$ }7 U  c    使用IAR打开AI_OCR里面的工程,在该工程的main()函数中可见如图1.0.3所示的程序段,该程序段为MT9D111摄像头初始化部分,初始化函数为camera_init(),初始化成功返回0(SUCCESS),并且通过串口1打印“camera_init SUCCESS!!!”并把标志位g_camera_init_ok函数置为1,用于作为摄像头初始化成功的一个标志位。! G; ~% D/ s' n- L

" N3 O  W& e) ]! _   
0 K, R) ~+ o# |    图1.0.3 摄像头初始化部分
3 W7 K7 T, K, J( O9 U0 ]7 L    图38 X' L  g9 [9 I2 c- v1 f
    摄像头底层驱动部分主要包含在mt9d111.c和camera_app.c中。获取摄像头PEG图像数据的函数如图1.0.4所示。
+ H0 X, T  ~9 n6 ^( T8 ?) o1 U
   
- Q- {2 s: A, d- l    图1.0.4 获取摄像头JPEG图像数据函数
% C5 G2 o: [, r, L; v9 i    图4
6 H' Y3 w) E- Y( S0 @: h$ i* \    其中camera_get_jpg_head()函数为摄像头采集到的JPEG图像的头部信息,长度为head_length,存储在指针pHeadBuffer指向的空间中。" i1 R1 w' P) U3 q( N: M7 M; p
    而camera_get_one_frame()函数为摄像头采集到的JPEG图像的信息,长度为frame_length,存储在指针pFrameBuffer指向的空间中。% ]) T' p' r& k$ p9 I7 E
    打开文件夹getaframe下的工程,编译下载到CC3200,打开串口调试助手,波特率为115200选择对应的串口号,点击打开,向CC3200发送“fk+getaframe#”指令,串口即可接收到返回的JPEG数据。
& c" G( S, E% O5 E: e8 D7 a, w- f8 `" W
     
0 }+ H" m0 I/ @6 j+ R6 C8 O4 ^    图1.0.4 串口接收到的图片数据6 {; }# \7 V* C8 i* l  V
    图5& m" u. P) b; n8 e2 E7 ?9 ?
    把这些数据复制下来保存到一个新建的frame.txt文件下,打开我们提供的java程序“Hex2Image.java”该java程序的功能是把16进制的JPEG图片数据转换成一张JPEG格式的图片。: N7 N& N5 Z. H$ o% i4 ?5 f
    如图1.0.5所示为该JAVA程序的部分代码。4 Y0 }3 u* d4 g0 s9 m2 _  Q( o. v
( A5 K( e7 s6 D2 \3 ]" S
   
& [% i( y! t# U1 B  y: U    图1.0.5 “Hex2Image”Java程序代码  H& z3 N& k1 l! [: _; i2 E/ V
    图6
/ ^6 x# Q0 h" f% F5 [% n! R    需要修改的部分为箭头处,即txt文件的路径,以及生成图片的路径。接下来便是编译该java文件(需要预先装好java环境以及设置好java的环境变量)。
" C+ V  @9 ^' b# s( m    “WIN+R”,输入“cmd”进入windows的DOS系统界面,如图1.0.6所示。
6 g/ T' B$ F3 ]- s, y7 t. j
, _8 c; k" H6 _+ p3 l     : c0 U1 e, @; _- `
    图1.0.6 DOS界面4 ^2 r8 j: f( z. Q4 J
    图7' p$ w6 N- }5 u0 ]$ S+ N- T
    首先在dos中定位到“Hex2Image.java”的路径输入“javac Hex2Image.java”对其进行编译。如图1.0.7所示。9 b" s4 @, C+ O" y% P3 a

8 E! F0 S8 ?$ L& G: G0 j: |' ^) d    + u  l6 N7 w- N% w
    图1.0.7 编译java源文件
4 g$ K9 e+ m& G    图8' b1 W$ a) k) I$ v2 ^0 d
    此刻在目录下会出现一个“Hex2Image.class”文件是编译过后生成的可执行文件,接下来运行该可执行文件在dos中输入“java Hex2Image”执行该文件,如图1.0.8所示为dos下执行“Hex2Image.class”。
3 I: Y, H2 h3 K7 J4 U2 D
( B, S/ r* J- G/ `) Y   3 E) X' K' u% y
    图1.0.8 dos下执行“Hex2Image.class”* i7 F7 |. i# S3 B( ~# ~
    图9' y  a, E0 X2 N3 o& y7 \; m
    此后在java程序中预先写好的路径下会出现一张JPEG格式的图片。打开该图片如图1.0.9所示。
) Z% ]& ~4 V* b: ^/ S( D5 Q8 S/ ?- v0 Q& O2 A! y
     
6 Z! D  V1 {+ i1 U/ j    图1.0.9 获取到的图片
# x3 T% a" n. v: `    图10! O4 V- O) ]: Y) L9 s4 n* X$ K. [

/ [1 G. h" f& j2 j7 u& q2 s4 v0 c8 b" V- M. E7 ]
9 x) I( R3 e8 |6 z7 Z* t7 J
$ ^8 ~2 `- w1 \& O$ v. f$ \

' J, Q4 P1 ?6 V. w. g: ^5 X    文件下载请点击: 【6】AI人脸图像采集.pdf (1.59 MB, 下载次数: 0)
+ u( J+ I0 h7 w% r, \9 p* o
6 p& i, b: y1 m1 {# e8 j, r5 Z# e. r5 n
6 r' R3 m+ {( p; |( \' X5 J  S- z, m7 Z, s8 k! P/ S' J( \
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 02:48 , Processed in 0.140625 second(s), 28 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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