news 2026/10/23 1:38:46

【opencv】OpenCV: 10行代码完成磨皮算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【opencv】OpenCV: 10行代码完成磨皮算法

在公司的好处是可以根据公司不同的项目,来学习不同的方向,而在学校的好处就是可以给你足够的时间来对一个你感兴趣的领域进行深入研究。一个是从广度上进行学习,另一个是从深度上进行学习,哈哈,只要每天有所得就行。

下面是LZ预研美颜算法时,使用OpenCV进行一个简单的pipeline构建,当然代码量非常少,只有10来行,效果呢还是有的,但是肯定得对每隔过程进行优化(≧▽≦)/啦啦啦

放出代码,当中进行注释的是进行视频实时处理需要的,如果需要的小伙伴可以自行调节代码

importcv2# cap = cv2.VideoCapture(0)# face detection part,download the xml file from# https://github.com/opencv/opencv/tree/master/data/haarcascadesface_cascade=cv2.CascadeClassifier("./data/haarcascade_frontalface_default.xml")img=cv2.imread("1.jpeg")# while True:# ret, img = cap.read()gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# function: detectMultiScale(self, image, scaleFactor=None, minNeighbors=None, flags=None, minSize=None, maxSize=None):faces=face_cascade.detectMultiScale(gray,1.3,5)for(x,y,w,h)infaces:img=cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)# use bilateral filter# The function applies bilateral filtering to the input image, as described in# http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html# bilateralFilter can reduce unwanted noise very well while keeping edges fairly sharp. However, it is# very slow compared to most filters.img=cv2.bilateralFilter(src=img,d=5,sigmaColor=40,sigmaSpace=5)cv2.imshow("img",img)cv2.waitKey(0)# if cv2.waitKey(1) & 0xFF == ord("q"):# break

看下效果,所放示例图仅供实验使用。
原图:
下图为磨皮后的效果:
再来一对对比图

磨皮后呢?

(@ο@) 哇~10行代码的效果,酷!

好了,要想着怎么优化了%>_<%

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 1:38:35

【工程与环境】Ubuntu16.04 cudnn安装

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:38:28

【c++】c++工程代码毫秒级时间计算

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:35:41

安全芯片选型指南:从几毛钱成本到EAL4+认证的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:34:56

HIL总线仿真:CAN、CAN FD与车载以太网工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:34:17

操作系统内存管理:虚拟内存、段式与页式机制深入解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华