是的,写轮眼,你没看错,今天周六,修个仙~
情人节写的
那篇
,在眼睛里添加女友照片,今天做了下修改。先是把贴图换成了写轮眼图片,再就是将单纯的图片展示改成了opencv调用摄像头,对实时获取的图片进行加工再予以展示,形成视频的效果:
思路
通过opencv模块启用电脑摄像头,将拍到的图片利用dlib模块进行面部识别,定位眼球区域,通过PIL模块对写轮眼图片进行缩放贴图,最终将生成图实时展示,形成视频效果。
opencv
opencv是一个很神奇的计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。
计算机视觉是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
要注意的是下载时是opencv-python,代码中导入时是import cv2, 之后通过cv2中的函数即可调用摄像头拍摄,获取拍到的图片进行操作。最终生成效果图后,再将效果图实时展现,形成摄像头视频画面。
dlib
dlib是一个包含机器学习算法的开源工具包。目前Dlib已经被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。
拿到拍摄的图片后,涉及到人脸识别。Python可以直接调用dlib库进行面部模式识别,其中也包含了准度较高的眼部识别:
通过37、38、40、41来确定左眼球位置,43、44、48、47来确定右眼球位置。
PIL
PIL (Python Image Library) 是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。
获取了眼球坐标,将写轮眼图片按眼球区域缩放,利用PIL模块将图片贴到背景图眼球位置上,最终生成目标图片。
回顾
最终效果自己看,还是挺傻的,还没有达到预期,算是修炼写轮眼的起点吧,看看最终修炼圆满会有什么效果,敬请期待哈~
代码下载
领取专属 10元无门槛券
私享最新 技术干货