人工智能AI功能均需要在有网络的环境下使用!
专属库
在KittenCode1.0.8以上已经集成2个与人工智能相关的库,方便调用
- kittenai:与人工智能相关的库,如百度语音识别、视觉识别等…
- kittenmedia:与人工智能的语音视频配套的媒体库,用于调用麦克风和摄像头
AI基础案例
语音合成
核心API
baiduAi.text2speech(text,per=0)
# text:语音合成的内容
# per:设置不同的朗读声线 0-女声 / 2-男声 / 3-男声2 / 4-女童孩
项目流程
- 项目简介:通过输入中文字符串,自动将文字转化为语音
- 示例代码 ```python import time from kittenai import from kittenmedia import
media = KittenMedia() media.start()
baiduAi = BaiduAI() while True: a = input(“请输入语句:”) content = baiduAi.text2speech(a) media.sendAudio(content)
- 运行步骤:
1. 复制代码,点击运行后,界面右侧的媒体窗口就会自动弹出(只要代码涉及到kittenmedia的麦克风、喇叭、摄像头的调用,就会自动弹出)
1. 在终端输入 => 小喵科技,并按下回车键
1. 可以听到喇叭播放 **"小喵科技"**

<a name="J8PKL"></a>
### 语音识别
<a name="VT70q"></a>
#### 核心API
```python
baiduAi.speech2text(au)
项目流程
- 项目简介:通过录入一段语音,将语音识别为文字
- 示例代码 ```python import time from kittenai import from kittenmedia import
media = KittenMedia() media.start()
baiduAi = BaiduAI()
while True: au = media.waitAudio() if au: result = baiduAi.speech2text(au) print(“识别结果:”, result)
- 运行步骤:点击_** 运行按钮**_,在右侧媒体窗口点击**_ 开始录音_**,对麦克风说话。完毕后,点击 **_停止录音按钮_**,终端就会识别的结果返回来。

> 如果迟迟没有返回结果,尝试关闭右侧的多媒体窗口,之后重新运行一次程序
<a name="vHZCW"></a>
### 图片识别
<a name="WDDIy"></a>
#### 核心API
```python
baiduAi.recognizeItem(img)
# img为要是别的图片内容(并非图片的名称)
项目流程
- 项目简介:图片识别可识别生活中常见的物体。以下的图片识别图片为 公交巴士 和 杯子,下面提供了两张素材用于实验(当然你也可以选择自己的图片)
- 示例代码 ```python from kittenai import *
baiduAi = BaiduAI()
fp = open(‘bus.jpg’, ‘rb’) img = fp.read() fp.close()
ret = baiduAi.recognizeItem(img) print(ret)
- 运行步骤:
1. 将图片素材复制到当前项目文件夹,并刷新项目列表

2. 运行程序后看到终端显示了AI图片识别返回的内容,基本日常事物识别率在80%以上~

<a name="S5YLc"></a>
### 通用文字识别
<a name="zCIGF"></a>
#### 核心API
```python
baiduAi.ocrRecognize(pic)
项目流程
- 项目简介:通用文字识别一般指印刷字体(非手写)。首先准备一张带有文字的图片,并将图片预先放入项目文件夹中
- 示例代码 ```python from kittenai import *
baiduAi = BaiduAI()
fp = open(‘cq.png’, ‘rb’) ret = baiduAi.ocrRecognize(fp.read()) print(ret) fp.close()
- 运行步骤:
1. 将图片素材复制到当前项目文件夹,并刷新项目列表

2. 运行程序后看到终端显示了AI文字识别返回的内容

<a name="WeImx"></a>
### 写春联
<a name="D2cbE"></a>
#### 核心API
```python
baiduAi.writechunlian(text)
# text:与春联有关的词汇
项目流程
- 项目简介:紧紧是根据提供的词汇,由AI在各种典籍中搜索相近意义的春联横批,上联与下联
示例代码
from kittenai import *
baiduAi = BaiduAI()
print(baiduAi.writechunlian("日月"))
运行效果
智能对话机器人
核心API
baiduAi.talk(text)
# text:你想闲聊的话,AI会返回它的回复
项目流程
- 项目简介:闲聊的套路其实非常一致,机器人没有那么聪明,没法理解人类的情绪和口语化的词汇,尽可能问问它比如天气、某些事实情况的话题吧
- 示例代码 ```python from kittenai import *
baiduAi = BaiduAI()
r = baiduAi.talk(‘你好呀~’) print(“机器人说:”, r)
while True: a = input(“你说:”) r = baiduAi.talk(a) print(“机器人说:”, r)
- 运行效果

<a name="xxtv1"></a>
### 人脸识别
<a name="LxYzS"></a>
#### 核心API
```python
# 人脸检测
baiduAi.faceDetect(img) # img为人脸素材的内容,并非名称
# 将人脸添加到数据库(之后方可用于识别)
baiduAi.faceAddGroup(facetoken, faceGroup, faceName)
# facetoken:人脸识别后返回的人脸token内容
# faceGroup:要添加的人脸组(全网通用,不可重复)
# faceName:为人脸命名
# 用于从数据库中搜索人脸(既真正的人脸识别过程)
baiduAi.faceSearch(img, faceGroup)
# 参数与上方介绍的一致
项目流程
- 项目简介:人脸识别通过特征来辨别人脸,前提是数据库中有对该人脸的素材进行过命名, 以下提供两张照片作为项目实验素材
- 运行步骤:
- 先将素材放到项目列表下
- 运行以下的示例程序,录入周杰伦和林俊杰的的照片素材,并分别为素材人脸起名为 JayChou、JJ
from kittenai import *
baiduAi = BaiduAI()
# 打开周杰伦的照片并让baiduAI人脸识别分析照片特征
fp = open('周杰伦.png', 'rb')
faces1 = baiduAi.faceDetect(fp.read())
print(faces1)
fp.close()
# 打开林俊杰的照片并让baiduAI人脸识别分析照片特征
fp = open('林俊杰.png', 'rb')
faces2 = baiduAi.faceDetect(fp.read())
print(faces2)
fp.close()
# 根据分析后的特征数据为该人脸添加名称和组别
facetoken = faces1[0]['face_token']
ret = baiduAi.faceAddGroup(facetoken, 'facegroup33', 'JayChou')
# 根据分析后的特征数据为该人脸添加名称和组别
facetoken = faces2[0]['face_token']
ret = baiduAi.faceAddGroup(facetoken, 'facegroup33', 'JJ')
- 运行以下的人脸识别程序用于辨别人素材人脸名称,可以看到实例中 周杰伦.png 的识别结果为我们命名的JayChou。识别成功~ ```python from kittenai import *
baiduAi = BaiduAI()
识别袁隆平的照片
fp = open(‘周杰伦.png’, ‘rb’) img=fp.read() fp.close() ret=baiduAi.faceSearch(img,’facegroup33’) print(ret)

<a name="E8sy5"></a>
## AI进阶案例
---
<a name="SHIDi"></a>
### 语音识别&闲聊
```python
import time
from kittenai import *
from kittenmedia import *
media = KittenMedia()
media.start()
baiduAi = BaiduAI()
while True:
au = media.waitAudio()
if au:
result = baiduAi.speech2text(au)
print("你说的话是:", result)
r = baiduAi.talk(result)
print("机器人回答:", r)
即时人脸识别
- 人脸检测,获取facetoken(注意自行更改faceGroup和faceName) ```python import time from kittenai import from kittenmedia import
media = KittenMedia() media.start()
baiduAi = BaiduAI()
while True: image = media.waitImage() if image: faces = baiduAi.faceDetect(image) print(faces) facetoken = faces[0][‘face_token’]
# 已经添加过后,这一行可以注释掉
ret = baiduAi.faceAddGroup(facetoken, 'facegroup33', 'h')
try:
ret=baiduAi.faceSearch(image,'facegroup33')
print(ret)
except:
pass
time.sleep(0.5)
```