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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
CC3200AI实验教程
——疯壳·开发板系列
AI人脸图像采集
+ P3 G# m6 X5 b" o

; S+ f8 ~; x6 P* M% K1 s4 x) r5 ^- D! l! {

: O% o4 @, K: d- L4 R6 U  [7 |/ Q# e  p
2 l% i3 ^: g) {- D1 |) @
    人脸图像采集硬件部分主要由CC3200和MT9D111摄像头组成。摄像头主要是作为人脸采集部分,CC3200则作为主控制核心。如图1.0.1所示为MT9D111摄像头模组的实物图。
+ w3 O) R7 |* T& I1 u9 V# a5 M+ _" S1 E7 `' O

" y+ d5 V! {6 I# g; |* q+ c    图1.0.1 MT9D111摄像头模组
8 t7 d5 Z; G9 a5 ?2 o$ Y    图1
* q) A4 t0 @6 K$ F    MT9D111摄像头模组及其外围的原理图,如图1.0.2所示。: a- E* M( e: c0 G$ Z+ O
; u* f- y$ M& D9 S# B' }; N
   5 V0 H& o% Y3 N# D& C
    图1.0.2 MT9D111及其外围原理图- V8 t1 [) e5 _
    图2
* u' @" O' ^- x$ B& y2 O    其中SDA为I2C数据、SCK为I2C时钟、PWDN摄像头工作状态选择、PCLK  像素点的时钟、MLKIN 是主时钟、RESET 复位引脚、VD为 列同步信号、HD为行同步信号、D0-D7 摄像头的并行数据口。3 ^. |0 s. Q: g% r
    使用IAR打开AI_OCR里面的工程,在该工程的main()函数中可见如图1.0.3所示的程序段,该程序段为MT9D111摄像头初始化部分,初始化函数为camera_init(),初始化成功返回0(SUCCESS),并且通过串口1打印“camera_init SUCCESS!!!”并把标志位g_camera_init_ok函数置为1,用于作为摄像头初始化成功的一个标志位。
3 _  ?) q9 Q" a9 n, o" ?3 @6 L: j' h8 W& G- b- Q3 S
  
# `" S7 Z# j4 ^; q) T    图1.0.3 摄像头初始化部分
  n0 x' R$ z( ?! Z$ [  ]$ E) I    图3) J1 F9 ^% K1 k! z
    摄像头底层驱动部分主要包含在mt9d111.c和camera_app.c中。获取摄像头PEG图像数据的函数如图1.0.4所示。& a& p7 Q# D" ]- i4 \9 h
- |8 x0 R# i/ C# G7 L
    ( M/ f% H/ |# }
    图1.0.4 获取摄像头JPEG图像数据函数" h( A/ C2 h4 X! P' w4 Z- o3 G
    图4! D" H% `% n# C! z) r3 U, d
    其中camera_get_jpg_head()函数为摄像头采集到的JPEG图像的头部信息,长度为head_length,存储在指针pHeadBuffer指向的空间中。$ c8 A$ f6 I2 X2 @( Q
    而camera_get_one_frame()函数为摄像头采集到的JPEG图像的信息,长度为frame_length,存储在指针pFrameBuffer指向的空间中。
" @$ v2 R" c- ~: ^* z    打开文件夹getaframe下的工程,编译下载到CC3200,打开串口调试助手,波特率为115200选择对应的串口号,点击打开,向CC3200发送“fk+getaframe#”指令,串口即可接收到返回的JPEG数据。
7 o. @. H$ a( f" x, P8 O6 `% o' C" {2 _7 j7 f
     
  B* r$ z2 w1 M4 A* Q    图1.0.4 串口接收到的图片数据
! t8 w9 t; P  \! v) d$ w8 N5 b- j    图5, X, H# Q8 @+ W
    把这些数据复制下来保存到一个新建的frame.txt文件下,打开我们提供的java程序“Hex2Image.java”该java程序的功能是把16进制的JPEG图片数据转换成一张JPEG格式的图片。
6 s+ d4 _# P1 |- q3 d    如图1.0.5所示为该JAVA程序的部分代码。
9 P) M5 d3 z6 U4 L( P/ J
; _# Q9 a  P9 E/ v) P    
) g" h" V2 Y$ R8 o* [6 ^    图1.0.5 “Hex2Image”Java程序代码
/ p1 f9 j, m$ C; e% m7 d& o    图6
7 b+ g+ a6 [) l- u; ~/ w    需要修改的部分为箭头处,即txt文件的路径,以及生成图片的路径。接下来便是编译该java文件(需要预先装好java环境以及设置好java的环境变量)。6 \9 g0 v  E2 W- g6 o  E* z) a' V
    “WIN+R”,输入“cmd”进入windows的DOS系统界面,如图1.0.6所示。
1 v/ j& B' N" S3 L/ ?
6 D/ R! ^) C, E+ }) \3 m( S     " q. I  r' o, @  @$ y
    图1.0.6 DOS界面! b) t8 k- i  l; a, J3 i# Q
    图7- u' a4 P  G( D( N. Y
    首先在dos中定位到“Hex2Image.java”的路径输入“javac Hex2Image.java”对其进行编译。如图1.0.7所示。; a  M0 U. b9 I# ]; k3 P* B* s
1 i3 D) B$ X* \! E" B9 n
   
0 h6 v, N$ K2 ~+ T/ j) H7 c    图1.0.7 编译java源文件) w; Y' `1 w" }" [
    图8
" f/ _& P' n  V4 K' w    此刻在目录下会出现一个“Hex2Image.class”文件是编译过后生成的可执行文件,接下来运行该可执行文件在dos中输入“java Hex2Image”执行该文件,如图1.0.8所示为dos下执行“Hex2Image.class”。" O5 A$ I; ~7 m. {( B" f" n5 f
. L! }0 ?6 P( y; K  }; k  l
  3 y% d% S/ n) ^+ T: ]$ o0 M9 c. J
    图1.0.8 dos下执行“Hex2Image.class”
1 k0 x% Z# x+ o0 h7 M( ]; z    图9
$ k% ]. h% R' q+ _, i" G2 h9 z& d: T    此后在java程序中预先写好的路径下会出现一张JPEG格式的图片。打开该图片如图1.0.9所示。
1 d% \/ p0 B  C* `( u7 W1 Y7 v, a" Y$ I
     . r1 v# Q2 r3 o" C, p6 A& H# P
    图1.0.9 获取到的图片 ( P2 p9 o3 t2 ~5 o
    图10
" y" i# ^1 W4 Z1 B" k5 L3 G+ }5 g0 T

7 L! H9 |# G( z
% K3 d; [' A$ [6 c: u# n. E% O$ G, ?1 A

# f: K( Z* S4 K# b7 b    文件下载请点击: 【6】AI人脸图像采集.pdf (1.59 MB, 下载次数: 0) 9 j+ f7 q" P1 a4 h$ v+ C
8 Z4 b% x8 g; ~7 [+ ~# p  n5 h  o8 y
+ }* J$ n; X6 W8 w7 S( h+ i

: [# {7 s. o" }- g
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-20 12:18 , Processed in 0.093750 second(s), 27 queries , Gzip On.

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

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

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