![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器视觉算法与应用
文章平均质量分 55
艾克思工作室
共享科技与艺术之美。
展开
-
opencv3.4+python3.6 中文教程7之图像叠加
目标 图像之间的叠加操作 函数cv.add(), cv.addWeighted() 等的用法 图像叠加add() 可以直接采用add(img1,img2)的形式,也可以直接采用ret=img1+img2的形式。 当然,需要两个图像中具有相同的尺寸和类型。 注意:在opencv和numpy的add函数之间存在着不同,例如: x = np.uint8([250原创 2018-03-18 17:39:51 · 1763 阅读 · 0 评论 -
Dlib库19.9版上线了, 终于实现了一键安装
人脸识别库DLib的19.9版在2018年的1月22日终于上线了,这个版本最大的改变即是实现了一键安装,对于饱受DLib安装之苦的同学们来说真是一个莫大的福音。原创 2018-02-04 10:29:55 · 3572 阅读 · 1 评论 -
用python玩微信跳一跳系列-自动计算跳一跳距离
到现在为止,我们通过前面几篇博文的描述和分析,已经可以自动实现棋子、棋盘位置的准确判断,计算一下两个中心点之间的距离,并绘制在图形上,效果如下。效果 图中的棋子定位采用HSV颜色识别,棋盘定位采用轮廓分割的方法获得,感兴趣的同学可以对其它的定位方法自行验证。代码# -*- coding: utf-8 -*-#VS2017+python3.6+opencv3.4#2原创 2018-02-03 18:35:00 · 935 阅读 · 0 评论 -
用python玩微信跳一跳系列-色块轮廓定位棋盘
在前几篇博文中,我们分别采用颜色识别,模板匹配,像素遍历等方法实现了棋子和棋盘的定位,具体内容可以参见我的前面的文章内容,在这一篇中,我们来探索一种定位棋盘的新方法。原创 2018-02-03 17:19:40 · 1164 阅读 · 0 评论 -
用python玩微信跳一跳系列-小人识别之模板匹配
前言 在opencv中,模板匹配进行物体识别有专门的函数matchTemplate()来执行这一动作。这个函数用来在给定图像或区域中进行模板图像的匹配,其做法是按照一定的计算方法将模板图像在给定图样中进行顺次滑移,最终将每一个位置的计算结果汇合成一个点阵。在这个点阵中,其最大值或者最小值就是我们需要的结果,对于需要的极值的提取,需要配合minMaxLoc函数来进行提取。上述方法首先需将模板和图样转原创 2018-01-09 22:41:58 · 1834 阅读 · 0 评论 -
python3.6-opencv3.4鼠标交互查看图片像素
在利用opencv进行图片处理时,经常需要查看图片关心区域或位置的像素数值,苦于没有应手的小软件,我用python3.6+opencv3.4简单编制一个小工具,供大家使用。原创 2018-02-01 22:29:54 · 2776 阅读 · 1 评论 -
用python玩微信跳一跳系列之-前言
前言 技术无罪,有罪的是掌握技术的人。 开源共享,尊重原创是最起码的道德规范。 本系列博文是严肃的技术讨论帖,非喜勿喷,切勿用于其它用途。 微信跳一跳在2017年12月28日上线,距今天不过短短10天的时间,据报道到其用户数量已经达到了9亿,以全民狂欢人手一玩来描述毫不为过。 在这个过程中,为了能够占据到朋友圈的最高排名,也为了挑战自己的最高分实现自我超越,各种攻略和刷分、物理外挂、脚本原创 2018-01-08 21:35:24 · 2322 阅读 · 0 评论 -
人工智能眼中的2017全球最美100张面孔(中)
这是上中下的中集,从34名到66名共33张照片。原创 2018-01-08 21:31:16 · 1484 阅读 · 0 评论 -
人工智能眼中颜值最高全球最美10佳
我们用百度大脑的人脸识别在2017全球最美100张面孔中进行验证,将其中颜值最高的10张照片挑出,当然,这十张照片和人类给出的排序完全不同,人工智能俨然已是一个青春叛逆期的骚年,对任何事情都有着自己不同的看法。你认可人工智能的眼光吗? 人工智能眼中的最美10佳 看到没,我中华帝国有两位美女上榜。 百度大脑属于中国,对中华美女有偏爱,没毛病。原创 2018-01-08 21:15:05 · 932 阅读 · 0 评论 -
用python玩微信跳一跳系列-像素遍历定位棋盘
本篇博客是上一篇博客的续篇,这里来验证github中最热门外挂中用像素遍历方法确定棋盘中心位置的效果。 方法 在像素遍历中,棋盘定位和棋子定位的原理几无二致,其实质都是基于像素颜色的识别。 像素遍历的方法是: 间隔一定像素从高度的1/3处开始至高度的2/3处进行遍历; 当像素的颜色和每一行开始的像素颜色不同时,认为找到了最上面的棋盘位置; 记录第一个颜色不同点为最左侧像素,记录最大原创 2018-01-31 23:01:27 · 400 阅读 · 0 评论 -
用python玩微信跳一跳系列-棋子定位之像素遍历
前言 在前几篇博客中,分别就棋子的颜色识别、模板匹配等定位方式进行了介绍和实践,这一篇博客就来验证一下github中最热门的跳一跳外挂中采用的像素遍历的方法。 方法说明 像素遍历的实质依然是颜色识别。 在github中给出的方法中,采用像素遍历的方法是:从高度的1/3处开始至高度的2/3处进行遍历;首先间隔50像素进行搜索当像素的颜色和每一行开始的像素颜色不同时,认为找到了最上面原创 2018-01-30 22:23:39 · 568 阅读 · 0 评论 -
人工智能眼中的2017全球最美100张面孔(上)
2017年12月28日,美国TCCandler揭晓了全球最美100张面孔排行榜,各大媒体纷纷转载,我不是八卦娱乐记者,对哪位明星上榜兴趣不大,今天我们借助百度大脑这位人工智能神奇少年的慧眼,来看一看在人工智能的眼中,所谓最美面孔究竟颜值几何。 这份榜单其实是一个非常好的人脸数据库,可以用于后期的各种验证与计算,将这份榜单留存收藏以备后用,也是这篇博文的意义所在。如果你觉得可能有用,收藏了就好。原创 2018-01-04 22:47:06 · 1240 阅读 · 0 评论 -
用python玩微信跳一跳系列-棋子定位之颜色识别
前言 这是python玩跳一跳系列博文中一篇,主要内容是用颜色识别的方法来进行跳跳小人的定位。 颜色识别 通过观察,我们可以发现,尽管背景和棋子在不停的变化,但跳跳小人的形状和颜色基本保持不变,对于形状,我们在上一篇博文中已经采用模板匹配的方法来进行识别定位,效果非常好。这一篇博文就来对颜色识别进行验证。 基本思路 用HSV颜色空间对输入的图片进行处理,用某种指定的颜色进行蒙版mask处原创 2018-01-11 16:53:01 · 1341 阅读 · 2 评论 -
dlib19.9+opencv3.4的人脸检测验证
2018年1月22日,dlib19.9版终于发行了,编译dlib库只需用pip即可一键安装,dlib可以实现完全本地化的人脸识别功能,使用非常方便,配合python的简洁高效和opencv的灵活强大,可以玩票出许多新的花样。本篇就来对其人脸检测(face_detect)功能进行验证。 在网络上,尤其在csdn和github上,关于dlib库的使用介绍已经非常多了,但都是比较古老的版本,也有诸多错原创 2018-02-05 22:47:07 · 1411 阅读 · 0 评论 -
python换脸GIF动画制作
最近在进行换脸操作时,经常需要进行变换过程的动画演示,把GIF文件制作过程和效果写出来,供大家参考。原创 2018-02-14 12:37:30 · 4384 阅读 · 1 评论 -
基于微软认知服务Azure的人脸识别验证
从 2018 年 3 月 1 日开始,微软Azure 认知服务(国内由世纪互联运营)的人脸识别 API 价格下调,降幅高达 50%。它集成了包括百万级识别在内的几项改进,能更好地帮助客户实现他们的愿景。要了解此服务及定价的更多信息,请访问认知服务功能页面和认知服务价格详情页面。原创 2018-03-04 11:03:10 · 2457 阅读 · 0 评论 -
opencv3.4+python3.6 中文教程6之像素操作
目标 像素颜色值的获取及变更 图像特征 RIO兴趣区域 分割与融合 像素获取及变更 import numpy as np import cv2 as cv img = cv.imread(‘sample.jpg’) #读入图片 px = img[100,100] #坐标位置像素点的颜色 prin原创 2018-03-17 17:39:44 · 818 阅读 · 0 评论 -
基于微软认知服务Azure的图像分析
在上一篇文章中,我们验证了微软认知服务Azure中开放AI三项功能中的人脸识别功能(faceAPI),这篇文章来验证一下其中的计算机视觉(图像内容分析)功能。图像分析的功能如下: 在微软开放的三个功能中,另外一个是情绪识别,识别图片中人物的情感特征,包括愤怒、轻蔑、厌恶、恐惧、快乐、悲伤等,截图如下。 从这两个功能可以看出,微软正在试图对图片进而对视频进行视觉分析,一方面判别图像的场景、原创 2018-03-04 18:12:33 · 2308 阅读 · 0 评论 -
opencv3.4中文教程(2)之视频操作
这是opencv3.4教程中的Getting Started with Videos一节。目标 视频读取、显示和存储 摄像头捕获和显示 函数cv.VideoCapture(), cv.VideoWriter()的使用 摄像头捕获 VideoCapture()代码中“0”代表缺省的摄像头,可以为“1”或其它。 如果要直接读取本地磁盘中的视频文件,可以用“c:/sample.avi...原创 2018-03-11 16:55:32 · 1473 阅读 · 0 评论 -
opencv3.4+python3.6 中文教程5之进度条
目标 学习在opencv窗口上增加一个进度条 学习cv.getTrackbarPos(), cv.createTrackbar()函数的用法 函数 cv.createTrackbar(): 参数定义: 进度条的名称; 进度条绑定的图形窗口名称; 当前的进度条数值; 进度条的最大值,最小值缺省为0; 回调函数; 用户参数,通常用全局变量进行传递。 cv.createTrackb原创 2018-03-17 10:57:06 · 1255 阅读 · 0 评论 -
opencv3.4+python3.6 中文教程4之鼠标操作
目标 学习opencv中的对鼠标事件的操作 学习 cv.setMouseCallback()函数的用法 函数说明 鼠标事件 鼠标动作的执行在opencv中有着固定的格式,鼠标事件包括常见的左键点击、右键点击、双击、中建拖动等,常见的类型如下: 标志 常见的标志如左键按下、右键释放等。 用法 给出一个示例,当按下左键时,移动鼠标并释放,则绘出一个矩形,否则绘出圆形。代码原创 2018-03-17 10:29:20 · 741 阅读 · 0 评论 -
openCV3.4中文教程(1)之图片操作
本教程为openCV3.4的python3.6教程中Gui Features in OpenCV下的Getting Started with Images 目标 读取、显示、和保存一个图像文件。 imread()、imshow()、imwrite()函数的用法。 matplotlib函数的用法。 读取图片 img = cv2.imread(‘sample.jpg’,1) 1代表:...原创 2018-03-11 13:20:10 · 2796 阅读 · 0 评论 -
五官定位哪家强-人脸识别特征点比对
目前,基于人工智能的人脸识别库很多,各家基本上都免费开放,dlib库开源并且本地化,其它的均提供SDK或者API接口供在线使用,人脸识别应当是AI领域内比较成熟且最有可能大规模落地的应用了。 本文给出dlib、百度、腾讯三家的人脸识别特征点实例,dlib识别68个点,百度大脑识别72个点,腾讯AI识别88个点,各有千秋,供大家在实际使用中借鉴。 同时,给出基于腾讯AI的动态人脸识别GIF,供大家原创 2018-02-22 09:47:22 · 6979 阅读 · 0 评论 -
腾讯openAI验证python篇之人脸分析
前言 和百度一样,鹅家也开放了自己的openAI人工智能平台,在官网的例程说明中,腾讯给出了PHP的API鉴权及调用示例代码,可惜我一直在用python3.6+opencv3.4,在网络上寻找帮助,竟然只找到寥寥几篇相关的文章,而且还有错误,很多坑,对于图片类的鉴权结果走不通,经过几天的摸索,终于调通了API,可以在腾讯家的openAI平台上进行完美的验证。相比于百度,腾讯优图中的一些应用还是比较原创 2018-02-22 00:39:22 · 3327 阅读 · 0 评论 -
opencv3.4+python3.6 中文教程3之绘图操作
目标 在图像上绘制不同的几何图形。 cv.line(), cv.circle() , cv.rectangle(), cv.ellipse(), cv.putText() 等函数的用法。 主要参数 img : 目标图像 color : 颜色元祖,按照BGR排列,如(255,0,0)即为blue蓝色。 Thickness: 以像素数代表宽度,-1代表实心填充。 lineType : 线型原创 2018-03-15 11:43:34 · 1342 阅读 · 0 评论 -
用python玩微信跳一跳系列之大结局
本系列博客只是以微信跳一跳游戏作为增热点的样本,用以学习实践计算机视觉处理技术和python的练习,无意破解或者开挂,切勿用作它途。原创 2018-02-20 08:52:24 · 471 阅读 · 0 评论 -
dlib19.9+opencv3.4人脸检测自动加墨镜
今天我们来验证一下dlib的人脸识别的5点特征点提取效果,并利用这五个点给人脸加上一个墨镜。原创 2018-02-08 00:49:07 · 3264 阅读 · 2 评论 -
基于深度学习的人脸识别AI技术谜与思(十四)--脸型识别
所有图片源自网络,无意冒犯,如觉不适,通知后立即删除。 本文在头条号和百家号同步首发前言 2017年12月25日,百度大脑人脸模块再一次升级,由原来的1.6.9.0升级为2.0.0.0,自此之后,我们的人脸识别就采用最新的版本了。大公司时刻充满了焦虑感和紧张感,百度转型为人工智能公司,但鼎盛时期的“四驾马车”先后出走创业,百度在近期正式起诉王劲自动驾驶技术民事侵权,索赔5000万元,“以儆效尤”原创 2017-12-25 17:51:22 · 8764 阅读 · 9 评论 -
百度大脑人脸识别深度验证与思考(十三)--容颜密码
本文已在头条号和百家号同步发布 艾克思工作室–2017-12-25前言 在上一篇《断章》中已经预告了本篇博文的内容,就是要从人工智能这位天才少年的视角来看一看我们人类本来的模样,那就让我们开始吧。 特别声明 所有图片均来自网络公开,无意冒犯,如觉不适,立即删除。 预告 按照计划行事,前因后预,是我多年的工作习惯使然,几乎不可变更。在这篇博文中,我们只是从人工智能的角度给出人脸的最优设计原创 2017-12-25 15:55:21 · 686 阅读 · 0 评论 -
python3.6.3+opencv3.3.0学习笔记九--动态物体检测
原创 2017-10-22 20:16:07 · 993 阅读 · 1 评论 -
python3.6.3+opencv3.3.0学习笔记八--本地视频人脸识别后另存
- 步骤载入cv2读取本地视频读取第一帧图像设置储存信息设置人脸识别信息对一帧图像进行处理保存第一帧图像读入第二帧图像循环上述步骤输入‘q’退出循环循环结束则清零程序import cv2 import numpy as npcv2.namedWindow(“Face_Detect”) #定义一个窗口 img=cv2.imread(‘c:\girl.jpg’) #读入原创 2017-10-20 23:43:21 · 1875 阅读 · 1 评论 -
python3.6.3+opencv3.3.0学习笔记六--存储视频和图像
载入cv2选取摄像头定义储存视频格式捕获帧按下v开始储存视频按下s存储图像按下q退出————————————————————————————import cv2 import numpy as np# 选取摄像头,0为笔记本内置的摄像头,1,2···为外接的摄像头* cap = cv2.VideoCapture(0)*#定义摄像头的分辨率 # cap.set(3,1080)*原创 2017-10-19 21:37:28 · 3483 阅读 · 0 评论 -
python3.6.3+opencv3.3.0学习笔记四--获取摄像头图像
import cv2clicked = False #鼠标是否被按下def onMouse(event,x,y,flags,param): ”’ define:鼠标操作响应函数event:鼠标回调事件参数x,y:鼠标指针在图像坐标系的坐标(不是窗口坐标系)flags:鼠标回调的标志参数param:param是用户定义的传递到setMouseCallback函数调用的参数'原创 2017-10-18 21:08:21 · 1816 阅读 · 0 评论 -
python3.6.3+opencv3.3.0学习笔记三--本地图像显示
import cv2 img=cv2.imread(‘c:\girl.jpg’) #读入图像 cv2.imshow(“this si the name of photo”,img) #显示图像 cv2.imwrite(‘c://girlnew.jpg’,img) #重命名后保存 cv2.waitKey(0)运行结果如下: c:\目录下多出一个新的文件原创 2017-10-18 20:55:28 · 825 阅读 · 0 评论 -
python3.6.3+opencv3.3.0学习笔记五--动态人脸捕获
步骤载入cv2捕获摄像头获取第一帧图像定义人脸识别信息开始循环对第一帧图像进行识别标示脸部特征和方框显示帧如果一切正常则读入下一帧循环直至捕获失败如果键入‘q’退出循环循环结束清零程序import cv2 import numpy as npcv2.namedWindow(“Face_Detect”) #定义一个窗口 cap=cv2.VideoCapture(0) #原创 2017-10-18 21:53:05 · 1366 阅读 · 0 评论 -
Python3.6.3+opencv3.3.0学习笔记十四--基于分类器的动态人脸人体捕获
说明 采用opencv3.3.0提供的face和body的分类集XML编制脸部识别和人体识别同时进行的代码。 人脸识别的准确率相当高,但人体识别提供的lowerBody、upperBody、fullBody分类集均需要根据不同的使用场景进行参数的设定,适用范围受到很大的限制,仅可以作为辅助手段进行。原创 2017-10-29 14:52:05 · 612 阅读 · 0 评论 -
python3.6.3+opencv3.3.0学习笔记十三--基于HOG的动态人体捕获
说明 和静态图片的处理方法基本一致,只是将静态图片更换为摄像头即时捕获的图像帧。 再次感觉,人体捕获受到的影响因素太多,虚警和错捕的概率很高,必须和其它的捕获和跟踪模式相结合,采用多模的方案才可行,并且不能作为主要的捕获和跟踪手段。'''python3.6.3+opencv3.3.0video_capture_HOG_people_detection'''import cv原创 2017-10-29 14:44:28 · 1029 阅读 · 0 评论 -
opencv3.3+python3.6学习笔记十--颜色跟踪
思路 用HSV颜色空间对输入的图片进行处理,用某一种或者几种指定的颜色进行蒙版mask处理进而得到二值化的黑白图像,膨胀和腐蚀后去除噪点,对轮廓区域进行计算,画出圆心和质心位置,并实现动态的跟踪。 HSV的基本概念和取值可以自行百度。 具体的取值参考http://www.cnblogs.com/wangyblzu/p/5710715.html原创 2017-10-28 09:15:03 · 3986 阅读 · 1 评论 -
python3.6.3+opencv3.3.0学习笔记七--人脸识别效果实录
采用CV_FOURCC(‘D’, ‘I’, ‘V’, ‘X’) = MPEG-4 codec压缩格式。 运行人脸识别并实时储存记录,效果如下: 2M限制条件下的GIF格式几乎没法看,但人脸识别还是不错的。原创 2017-10-19 23:57:44 · 1177 阅读 · 0 评论 -
python3.6.3+opencv3.3.0学习笔记十二--基于HOG的静态图片人体探测
说明 基于opencv3.3.0自带的example例程而来 对例程做了较大的改动 参数需要根据实际的场景和应用来进行调整,相对于人脸识别,人体识别收到的影响更大,识别率和虚警率都较高,必须配合其他的模式一起方可实用。原创 2017-10-29 11:23:36 · 1456 阅读 · 0 评论