我
我是谁
我是Tony,人工智能爱好者,一直从事相关行业,爱写点博客,原因是当年最落魄,最无奈的时候,靠着看书和写博客不断进步,正确的认识了自己,也走出了困境,所以觉得写博客是个好习惯,即帮助别人,也能帮助自己。
联系我
您可以通过文章留言给我,我会第一时间回复,也可以发邮件,可能回复不及时,但是看到了一定会回复,还可以加我的微信,我们有专门的讨论群,分享最新的知识,扫描右侧主菜单二维码可以添加我为好友。
我做的东西
有人肯定说啊。。。你这一天天的啥都会,你做点东西给我们瞅瞅啊(宋小宝说:“你瞅瞅你一天舞舞扎扎一身能耐,你就是不成材”)。。。简单介绍一下我从小到大的做的小玩具。。
手指个数识别(精彩指数:✨✨)
时间 | 算法 | 工具 | 目的 | 结果 |
---|---|---|---|---|
大一下学期(2011年暑假) | 帧差加自己写的算法(应该属于边缘检测) | OpenCV,串口通讯,MFC | 参加西安电子科技大学生物科学技术学院星火杯 | 没得奖 |
视频,请忽略前面煽情的介绍。。。十分尴尬
通过伸出手指,隐藏在单片机下的摄像头捕捉图像,在电脑(我心爱的联想y460,我人生中第一台电脑,被我拆了无数次)上,使用mfc拼一个“美丽的”几面,再实现算法给出数字通过串口发送到数码管上显示。
手势跟踪(精彩指数:✨✨)
时间 | 算法 | 工具 | 目的 | 结果 |
---|---|---|---|---|
大三上学期(2012年下半年) | SIFT,BoG | OpenCV | 参加西安电子科技大学软件大赛 | 没得奖 |
通过摄像头跟踪手掌,控制鼠标,完成画图。
肌肉电信号控制小车(精彩指数:✨✨✨✨)
我认为做的最完美的一部作品,
硬件:
自己设计电极,采集肌肉信号,根据论文实现电路,自己焊板子模拟电路,没有示波器,自己用电脑模拟了一个(将信号数字化,后绘图,根本不知道有没有信号,全靠猜,结果喜人,真的有信号,而且很强烈),找人印制PCB电路板,焊接,测试,调试
软件:自制示波器(这种事真的naive,但是很有趣)
将采集到的信号数字化后使用蓝牙模块通信传输到PC,在PC端完成数字信号处理,将结果信号通过另一组蓝牙发送给小车。完成小车控制
小车:淘宝买的
时间 | 算法 | 工具 | 目的 | 结果 |
---|---|---|---|---|
大四上学期(2013年下半年) | 高斯滤波,脉冲信号检测 | MFC,Windows串口api | 参加西安电子科技大学生物科学技术学院星火杯 | 一等奖(没去领) |
宿舍很乱,原因是舍长不讲卫生。。。嗯。。这个锅甩的贼远
Jupiter(精彩指数:✨)
为了练编程和操作系统知识,复现了一下《30天自制操作系统》这本书
时间 | 算法 | 工具 | 目的 | 结果 |
---|---|---|---|---|
大四上学期(2013年下半年) | 无 | C语言 | 练C语言 | 练得还可以 |
没啥看的一个裸跑程序,后面内存管理和任务调度都没写,半成品
《数字图像处理》刚萨雷斯(精彩指数:✨✨)
全书算法C语言实现
上面的是练编程,这个就是练算法了。。
时间 | 算法 | 工具 | 目的 | 结果 |
---|---|---|---|---|
深航工作期间(2014.7-2015.5) | 《数字图像处理》 | C语言 | 练算法 | 练得还可以(还写了不少博客) |
https://github.com/Tony-Tan/DIPpro
一个深度图像人体结构检测(精彩指数:✨)
时间 | 算法 | 工具 | 目的 | 结果 |
---|---|---|---|---|
图一工作期间(2015.5-2016.4) | 测地距离 | C语言 | 老板要的DEMO | 算是个DEMO |
人脸检测跟踪(精彩指数:✨✨✨)
时间 | 算法 | 工具 | 目的 | 结果 |
---|---|---|---|---|
斐视科技(2016.4-) | NPDFace | C/CUDA | 公司产品 | 算是个公司产品 |
人脸识别(精彩指数:✨✨✨✨)
时间 | 算法 | 工具 | 目的 | 结果 |
---|---|---|---|---|
斐视科技(2016.4-) | FaceNet和上面的人脸检测跟踪算法 | C/CUDA/TensorFlow | 公司产品 | 算是个公司产品 |
我的书
昨天(20181007)把所有的书收集到一起,从2014年7月至此购买收集的所有的书籍,看的不多,所以内心十分惭愧
整理这些书籍,如果靠人工,有点困难,主要是博主确实懒得可以,所以,那么我们就用点技术手段,用python来识别出二维码,然后通过isbn查询豆瓣提供的API,然后将部分信息保存出来。代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50# -*- coding: utf-8 -*-
from pyzbar import pyzbar
import cv2
import requests
book_library='book_math_list.csv'
def searchBooks(keyword=None):
url = 'https://api.douban.com/v2/book/search'
params = {'q':keyword}
response = requests.get(url, params=params)
return response
if __name__ == '__main__':
book_list = open(book_library,'a')
cap = cv2.VideoCapture(1)
while (1):
# get a frame
ret, frame = cap.read()
if frame==None:
break
# show a frame
cv2.imshow("Frame", frame)
ch= cv2.waitKey(1)
if ch & 0xFF == ord('r'):
if len(pyzbar.decode(frame))>=1:
isbn = pyzbar.decode(frame)[0].data
print isbn
r = searchBooks(isbn)
bookResult = r.json()
count = bookResult['count']
for x in bookResult['books']:
title = x['title']
average = x['rating']['average']
numRaters = x['rating']['numRaters']
alt = x['alt']
price = x['price']
print '-------------------------------------'
print 'Title:' + title
print 'Score:' + str(average)
print 'Numbers:' + str(numRaters)
print 'Link:' + alt
print 'Price:' + price
print '-------------------------------------'
book_list.write(title.encode("utf-8")+','+str(average)+','+str(numRaters)+','+alt.encode("utf-8")+','+price.encode("utf-8")+','+isbn+';\n')
elif ch & 0xFF == ord('q'):
break
cap.release()
book_list.close()
使用到的工具 zbar
,需要单独安装。识别过程如下视频:
数学书
通过我们上面的代码,统计了下数学书,结果如下:
以上排名顺序依据豆瓣评分进行排序,0分的不代表最坏,而是有可能读者较少。