概述:
本文主要是博主想分享一下最近在学习python和opencv时做的一些小实验和作为自己编程之路刚开始的一个小笔记。在刚接触python时发现了有一个叫wxpy的东西,他可以实现让微信自动接收、处理消息然后进行回复的一系列功能,之前看到网上很多大神用它来做自己的尬聊机器人感觉很有意思,于是便自己研究了一下。
第一次写博客,写的不好或者哪里有错误的请大神指出谢谢!
第一次使用Wxpy看这里
1、安装wxpy
博主用的是Python2.7来进行开发的
pip install -U wxpy
2、wxpy登录、发送消息
这里我们先做一个登录微信,然后让他查找到好友列表的人去,发送登录后的第一条消息
#coding=utf-8
from wxpy import *
bot = Bot()
#扫二维码登录微信
friend = bot.friends().search(u'严洪')[0]
friend.send(u"老子来啦!!")
#查到好好友列表的某个好友并向他发送消息
print end
这里我们收到了来自小号的消息,登录和发送消息的小实验成功 !
3、回复好友消息
这里用到了@register()来注册消息
@bot.register()
def reply_msg(msg):
msg.reply(u'噶蛤玩意?')
embed()
好的,简单的自动回复也成功了
4、 wxpy的消息处理
我们在平常出门时,可能想起突然想要自己电脑上的一些资料,或者想要跑一些代码来得到一些数据,这时没电脑的你就可以用wxpy来远程指挥机器人帮你干一些事情
博主最近在学习OpenCV,所以我便想能不能在出门时,不在电脑面前,也能让电脑帮我测试一些图片样本,然后得出数据反馈给我呢?当然实现这个目的方法网上非常的多,这里我们利用wxpy,实现一个简单的远程发送指令和反馈的功能吧
博主这里就用OpenCV提供的人脸检测文件来做一个人脸识别反馈结果的功能吧
这里会用到
haarcascade_frontalface_alt.xml 这个文件
先写好人脸检测的函数
#coding=utf-8
import cv2
def face(name):
print '正在处理'
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
count = 0
img = cv2.imread(name)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
count+=1
cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),4)
font = cv2.FONT_HERSHEY_SIMPLEX
roi_gray = gray[y:y+h/2, x:x+w]
roi_color = img[y:y+h/2, x:x+w]
cv2.imwrite("face_detected_1.jpg", img) #保存已经生成好的图片
print count
return count #返回人脸总数
然后写一个接收图片的功能、接收消息后处理图片
@bot.register(Friend,PICTURE)
def face_msg(msg):
image_name = msg.file_name
friend = msg.chat
print msg.chat
print '接收图片'
# face(image_name)
msg.get_file('' + msg.file_name)
count = face(image_name)
if count==0:
msg.reply(u'未检测到人脸')
else:
msg.reply_image("face_detected_1.jpg")
msg.reply(u"检测到%d张人脸"%count)
os.remove(image_name)
os.remove("face_detected_1.jpg")
embed()
好的,实验成功了!以后如果我自己了训练的深度学习模型可以利用这个方法在外面进行随意的调试。
5、其他
wxpy的功能还不止有这里,还可以引入图灵机器人的API实现尬聊、也可以用来做一些识别处理如车牌识别、OCR等功能。这里就不一一举例了~
(图灵机器人功能—详情百度图灵机器人)
(身份证识别功能—face++提供接口)
(车牌识别功能)
关于车牌识别 可以参考Zeusees/HyperLPR
商业合作 智云视图
这个车牌项目很不错,识别率非常高
6、总结
Wxpy还是挺好玩的,作为新手的我只用了几行代码就能实现这些功能。
如果想更加了解Wxpy 请前往开发文档地址
http://www.jianshu.com/p/577129b32756
这里还有一个很不错的大神写的教程
http://www.jianshu.com/p/577129b32756