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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
CC3200AI实验教程
——疯壳·开发板系列
AI人脸图像采集

; Y: j1 {& W/ {+ D
" y: V2 l2 C& O3 v$ u! V1 M, l, g. S' G; W
% D& Q9 c  Y9 P, s* d
2 a# D0 c$ Z: O

: I/ k) e5 S  c' t    人脸图像采集硬件部分主要由CC3200和MT9D111摄像头组成。摄像头主要是作为人脸采集部分,CC3200则作为主控制核心。如图1.0.1所示为MT9D111摄像头模组的实物图。
4 P* R+ a; ?/ e, X" Y) W4 a6 [  {, L0 @# T
' J( H" V0 C5 H. }4 {
    图1.0.1 MT9D111摄像头模组' z" y! ^# U% Y7 ~0 `
    图1
7 b$ c+ T0 B+ e% `    MT9D111摄像头模组及其外围的原理图,如图1.0.2所示。; D  S9 C4 ^. P. n; Q( `' j
0 b1 g9 i2 Q5 t9 l% x  j; x
   ! g* a% |7 ~7 J  T6 ?  C5 Y
    图1.0.2 MT9D111及其外围原理图
9 G: a; I7 W6 m    图2( g9 _/ B4 E3 f7 W3 j9 O
    其中SDA为I2C数据、SCK为I2C时钟、PWDN摄像头工作状态选择、PCLK  像素点的时钟、MLKIN 是主时钟、RESET 复位引脚、VD为 列同步信号、HD为行同步信号、D0-D7 摄像头的并行数据口。
3 T4 g0 T9 Y  \4 P" ^    使用IAR打开AI_OCR里面的工程,在该工程的main()函数中可见如图1.0.3所示的程序段,该程序段为MT9D111摄像头初始化部分,初始化函数为camera_init(),初始化成功返回0(SUCCESS),并且通过串口1打印“camera_init SUCCESS!!!”并把标志位g_camera_init_ok函数置为1,用于作为摄像头初始化成功的一个标志位。
8 m2 y6 ?5 Q- h* i. {) Y2 x* o+ ~2 O! E" @% K
  6 s6 m' y  J: X4 o) |  v
    图1.0.3 摄像头初始化部分5 A4 ~) O% n6 m! O5 k
    图3: P! G6 {; R/ j( n- i
    摄像头底层驱动部分主要包含在mt9d111.c和camera_app.c中。获取摄像头PEG图像数据的函数如图1.0.4所示。: ~! \5 r3 N$ I

" d; g) `: g' b& ?    
- ^+ c, ?6 o2 Y! l* p    图1.0.4 获取摄像头JPEG图像数据函数
9 T  h5 b& V3 O3 ?" Q- v5 C    图4* g& x( R1 Q( r5 Q3 I
    其中camera_get_jpg_head()函数为摄像头采集到的JPEG图像的头部信息,长度为head_length,存储在指针pHeadBuffer指向的空间中。. h6 k9 d' K4 E4 {5 \3 c# n
    而camera_get_one_frame()函数为摄像头采集到的JPEG图像的信息,长度为frame_length,存储在指针pFrameBuffer指向的空间中。
- w) o9 M2 a' Q) k/ Q8 a8 E    打开文件夹getaframe下的工程,编译下载到CC3200,打开串口调试助手,波特率为115200选择对应的串口号,点击打开,向CC3200发送“fk+getaframe#”指令,串口即可接收到返回的JPEG数据。# t7 V4 k8 J  n! p" H% H/ U! `
( P( m' F: x( A& |
     
$ ~' q, E6 s$ R, z" c! q    图1.0.4 串口接收到的图片数据
! j3 @- |3 {  ~) K9 }- I    图5. W/ D4 X) _( b
    把这些数据复制下来保存到一个新建的frame.txt文件下,打开我们提供的java程序“Hex2Image.java”该java程序的功能是把16进制的JPEG图片数据转换成一张JPEG格式的图片。+ h& {/ S9 B; D( }' p
    如图1.0.5所示为该JAVA程序的部分代码。$ P7 X6 u/ X) T; g! _  \

; ?7 t% {5 ~6 h7 s  l3 j! O     6 t( y3 z: X. X& h# i6 R
    图1.0.5 “Hex2Image”Java程序代码
8 L! f6 e& v' A( k+ }% C    图67 p) U8 W, s( {9 A
    需要修改的部分为箭头处,即txt文件的路径,以及生成图片的路径。接下来便是编译该java文件(需要预先装好java环境以及设置好java的环境变量)。* U; `* f; x$ k* O
    “WIN+R”,输入“cmd”进入windows的DOS系统界面,如图1.0.6所示。! J$ ]& S* u& W: y! ~

3 P" j8 q) s( R/ f: l1 N9 z     / w5 Q. H% P9 ?( g( R0 X: w
    图1.0.6 DOS界面
' p. A$ a* d2 x& [& d    图7- ]4 ^1 t  i1 @$ C4 c
    首先在dos中定位到“Hex2Image.java”的路径输入“javac Hex2Image.java”对其进行编译。如图1.0.7所示。7 u! t( @. c. B& `( {( K1 d: E
5 k: A, B* ~+ ?; ~& A1 ]/ ]
   
, P0 f/ ]3 y& @+ U; h1 E5 a# Q    图1.0.7 编译java源文件
2 t/ q6 y* E3 t" Z' ]" C7 H! C    图8: A9 @9 L1 Q' I5 N0 V+ \+ M
    此刻在目录下会出现一个“Hex2Image.class”文件是编译过后生成的可执行文件,接下来运行该可执行文件在dos中输入“java Hex2Image”执行该文件,如图1.0.8所示为dos下执行“Hex2Image.class”。
; W+ c$ ]' X0 e! F5 O! d6 |) u( L/ D# X
  
, G7 i! {1 v4 p; \/ c# z    图1.0.8 dos下执行“Hex2Image.class”. ]- J4 Q  f( K4 W3 q
    图9
+ G2 ~: H. t7 Q6 N) L    此后在java程序中预先写好的路径下会出现一张JPEG格式的图片。打开该图片如图1.0.9所示。* P- S# _+ w7 M/ e1 _1 y1 d" n

" H) i9 |: |" j# }' i1 |$ j     $ }  g1 V) c; ?" i7 w3 m
    图1.0.9 获取到的图片 8 ]) a. D7 }4 X+ s$ J
    图100 V1 g- n' e9 i2 Z% y  W) J7 u/ |

0 j, b- W9 r5 U9 V8 D
- c4 T' ?9 d/ U" K0 u" D! W
  y" H1 d+ ^- \0 p( s. O4 O" {. V0 v
8 c$ ^9 D# b- j) k
    文件下载请点击: 【6】AI人脸图像采集.pdf (1.59 MB, 下载次数: 0) 4 X2 ?" M8 b1 z) w0 L4 Q
) o/ A/ Q6 W5 X  y! S
4 M0 b) P. A2 v% {# m& [
- `1 J3 A+ U) C2 s0 @* I1 K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-26 14:47 , Processed in 0.109375 second(s), 27 queries , Gzip On.

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

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

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