Python
冰不语
这个作者很懒,什么都没留下…
展开
-
头像/证件照抠图与圣诞背景替换
CVPy抠图系列文章继续。1. 头像/证件照抠图之前已经有过《一键智能抠图》、《【CV派】新玩法——AI一键抠图+素描》、《一键动物抠图,毛发毕现——人是不是动物?》、《如何从头训练一个一键抠图模型》几篇文章。之前的抠图模型是一个通用模型,任何物体都可以抠。但是正如在《如何从头训练一个一键抠图模型》文章结尾笔者提到的,边缘特别是人物头发处的抠图效果还有待提高:上面的抠图效果还是有待提高,比如头发等边缘处,还是可见部分背景未分离。前几天刚转发了动物抠图的新论文,边缘和毛发的抠图效果很赞。其单开一条支原创 2020-12-20 20:34:55 · 738 阅读 · 0 评论 -
如何从头训练一个一键抠图模型
如何从头训练一个一键抠图模型1. 前言抠图是图像编辑的基础功能之一,在抠图的基础上可以发展出很多有意思的玩法和特效。比如一键更换背景、一键任务卡通化、一键人物素描化等。正是因为这些有意思的玩法,CVPy网站上的一键抠图功能上线以来,从赞数来看,人气之高已经遥遥领先于CV派内其他高手,可见此模型的受欢迎程度。笔者最近也是对此模型背后的U-2-Net网络很感兴趣,收集数据训练了人脸素描化模型,尽管受限于数据集,只能在人脸图片上转换成功,但自己仍然玩的不亦乐乎。不仅乐于玩模型的有意思的效果,更乐在训练模型过原创 2020-11-16 19:53:23 · 1532 阅读 · 1 评论 -
【CV派】新玩法——AI一键抠图+素描
看过之前文章的朋友们知道,我最近成立了一个门派,与公众号同名,名为【CV派】。山门及门派一众高手介绍如下:新玩法话说最近新入门的高手CV小素,竟然撇下其妹妹AI小素,整天与AI魅婷“称姊道妹”。当然,与魅婷厮混是可以理解的,毕竟魅婷是CV派人气第一的高手,看看每个高手底部的赞数就一目了然了。正因为如此,不仅仅是CV小素,其他高手,比如AI卡图,其实也在找机会与魅婷套近乎。魅婷为人热情,在于众人论道的过程中也不藏私,其功法绝学【一键抠图】被不少人学了去。与此同时,魅婷也是学到了不少新技能,比如CV小素原创 2020-11-01 22:13:59 · 612 阅读 · 0 评论 -
任意图像转素描:Python分分钟实现
图像转素描效果展示看到这个标题你可能觉得,我这次终于开始标题党了。然而众所周知,我是标图党~,一般不会做标题党这种事情,既然说了分分钟实现,那就说明——代码在十行左右。代码虽少,但是效果确实一点都不含糊(即使含糊了…我也给出了调参的空间~)。按照惯例,先看两张效果图:还有一张在最上方。我感觉我肯定是膨胀了,示例图片都敢不全放美女图片了。不全用美女示例图片的另一个原因是,之前做的AI小素只能做脸部的素描,其他部分的素描做的一塌糊涂(训练集只有脸部图片),这次换个天坛这种建筑图片,也能说明这个CV原创 2020-09-22 13:22:21 · 1576 阅读 · 2 评论 -
肖像转素描:AI小素的前世今生
一. 小素的全名和家族箴言前段时间,我做了个AI,叫小素,能够把肖像图片转成素描风格。受限于数据集,目前只是人物肖像的转换效果还能看,其余的如风景建筑、花鸟虫鱼、风花雪月之类的图片,也可以转换,只是效果嘛…只能说一切皆有可能!下面是小素的几张人物肖像的转换效果:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7V8RAgNV-1599990106307)(https://img.cvpy.net/sketch_example_1.jpg)]这几张转换效果还是不错的。原创 2020-09-13 17:45:41 · 776 阅读 · 0 评论 -
一键智能抠图-原理实现
1. 效果秀有些朋友已经体验过了cvpy.net最近新上的一键智能抠图和换背景的功能,智能判断前景并自动抠图,效果还是挺惊艳的,放几张图看看效果:请注意看这位喵星人右侧性感的胡须,抠的可谓是非常精细了。有人说了,这张图片的的背景是简单的纯色背景,体现不出难度来。那我换一张我在路边拍的一朵不知名的花(恕我孤陋寡闻…)的图片,看看抠图的效果,顺便换个蓝色的背景:可以看到,模型成功识别出了前景区域,而且边缘等细节识别的非常好。再来看一张人物照的抠图效果:注意看左手指缝和肩膀后面的那一缕头发,称原创 2020-08-31 13:54:37 · 3554 阅读 · 2 评论 -
TensorFlow Object Detection目标检测模型训练时Loss急剧上升直至为NAN
今天用TensorFlow Object Detection训练目标检测模型的时候,Loss一直不正常,先下降了一下,然后急剧上升直至为NAN。然后报错Model diverged with loss = NaN.。截取部分日志如下:INFO:tensorflow:loss = 18919772.0, step = 0INFO:tensorflow:loss = 344412.66, step = 100 (27.579 sec)INFO:tensorflow:loss = 156323.77, st原创 2020-07-21 15:03:16 · 1825 阅读 · 0 评论 -
OpenCV DNN 模块-风格迁移
本文主要介绍OpenCV的DNN模块的使用。OpenCV的DNN模块自从contrib仓库开始,就是只支持推理,不支持训练。但是仅仅只是推理方面,也够强大了。现在OpenCV已经支持TensorFlow、Pytorch/Torch、Caffe、DarkNet等模型的读取。本文们就以风格迁移为例,来看一下OpenCV DNN模块的用法。相比于复杂而耗时的模型训练过程,模型推理就显得简单多了。简单来说,过程就是:加载模型输入图像预处理(跟训练过程一样的方式,增强除外)模型推理1. 加载模型因为.原创 2020-07-05 22:05:50 · 2639 阅读 · 1 评论 -
卷积到底是怎么【卷】的
卷积,这个词大家应该都不陌生,数学中傅立叶变换的时候,物理中信号处理的时候,图像处理中滤波的时候、提取边缘的时候,还有深度学习中卷积神经网络的时候,处处可见卷积的影子。卷积在图像处理中的应用非常广泛,可以说理解了卷积,就可以理解图像处理算法的半壁江山,也不知道这个说法是否夸张了。但是都说卷积卷积,那卷积到底是怎么个卷法呢?本文尝试解答这一问题。理解的卷积计算过程想要理解卷积,一些必要的数学公...原创 2019-11-28 10:17:51 · 3143 阅读 · 2 评论 -
UnicodeDecodeError: 'rawunicodeescape' codec can't decode bytes in position 80-81: truncated \UXXX
一、环境windows 7python3.6(Anaconda3)keras 2 api二、模型保存遇到了这个问题保存部分代码如下:model_name = 'ssd7_0'model.save("ssd7_0.h5")model.save_weights(r'ssd7_0_weights.h5')然后运行就遇到了这个问题:--------------------------------原创 2017-09-08 21:29:44 · 3526 阅读 · 1 评论 -
OpenCV实践之路——人脸检测(C++/Python)
之前一直觉得人脸检测是非常麻烦的,即使是用opencv,麻烦到我都不敢去碰。这两天仔细看了下,如果只是调用opencv自带的分类器和函数的话,简直是简单。这不,正好最近也在学习Python,索性就用C++和Python两种语言都实现一下。当然,我现在这个是最简单的版本。步骤:调用opencv训练好的分类器和自带的检测函数检测人脸人眼等的步骤简单直接:1.加载分类器,当然分类器事先要放在原创 2016-04-09 15:29:10 · 27550 阅读 · 52 评论 -
40行代码的人脸识别实践
40行代码的人脸识别实践40行代码的人脸识别实践前言一点区分所用工具Dlib人脸识别前期准备识别流程代码运行结果前言很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要深究其中的原理,只是要实现这一工作的话,人脸识别也没那么难。今天我们就来看看如何在40行代码以内简单地实原创 2017-03-30 08:53:11 · 38371 阅读 · 75 评论 -
用Python给头像加上圣诞帽
引言随着圣诞的到来,大家纷纷@官方微信给自己的头像加上一顶圣诞帽。当然这种事情用很多P图软件都可以做到。但是作为一个学习图像处理的技术人,还是觉得我们有必要写一个程序来做这件事情。而且这完全可以作为一个练手的小项目,工作量不大,而且很有意思。用到的工具OpenCV(毕竟我们主要的内容就是OpenCV…)dlib(前一篇文章刚说过,dlib的人脸检测比OpenCV更好用,而且dlib有OpenCV原创 2017-12-23 16:59:13 · 5824 阅读 · 2 评论 -
Python实现动态图的解析、合成与倒放
动态图现在已经融入了我们的日常网络生活,大大丰富了我们的表达方式和交流趣味性。常常是一言不合就放动图,我这里就不举例子了。咱们直接开始本文的内容。用到的库和模块今天用看看如何用Python写个程序,进行动态图的解析、合成与倒放。这里我们用到的库有且只有PIL。而且只用到了PIL的两个模块Image和ImageSequence。顾名思义,就是图像模块和图像序列模块。动态图正好可以看作是图原创 2018-01-12 16:38:46 · 5695 阅读 · 0 评论 -
元旦赠书 | 18本纸质书:OpenCV、Python和机器学习,总有一本适合你
【本文首发于公众号【CVPy】。以下赠书活动需要在公众号中参与。文章末尾扫码关注。】送福利圣诞的时候送的三本书已经发出,而且其中的两人已经收到,路途较远的那个还在路上。当时主页君原话是这样的: 由于准备仓促,此次赠书数量不多,不过以后还有机会,主页君会为大家多多争取。大家一起努力,大家越给力,主页君越有底气。是的,上次送了三本,但是大家很不过瘾,主页君说了会为大家多多争取的!这次主页君蒙电子工原创 2017-12-29 20:43:37 · 3669 阅读 · 0 评论 -
魔幻滤镜Gabor Filter 原理与实现(python & C++)
Gabor Filter以下定义翻译引用自维基百科: 在图像处理领域,以Dennis Gabor命名的Gabor滤波器,是一种用于纹理分析的线性滤波器,即它主要分析的是,图像在某一特定区域的特定方向上是否有特定的频率内容。当代许多视觉科学家认为,Gabor滤波器的频率和方向的表达与人类的视觉系统很相似,尽管并没有实验性证据和函数原理能证明这一观点。研究发现,Gabor滤波器特别适合于纹原创 2018-01-26 11:50:08 · 2755 阅读 · 0 评论 -
魔幻光影滤镜(2):仿Redfield Fractalius滤镜
引言熟悉PS的人也许知道,PS滤镜中有一个Redfield Fractalius,可以让图片展现出魔幻的效果,比如一直可爱的喵星人,经过魔幻光影滤镜处理之后就会展现出下面威武霸气的样子:还有这样这样那么我们能不能用OpenCV来实现这样的效果呢?答案显然是可以的。而且OpenCV还提供了相应的例子,这就大大简化了我们学习的负担。今天我们就来看看这个程序吧。程序要原创 2018-01-26 11:57:18 · 1737 阅读 · 0 评论 -
Python可变长参数
引言假如我们已经从Excel中读取到了一列数据,比如说是一队人的分数。我们尝试用Python来编写一个求总分的函数。如果事先已知人数如果人数实现已知,比如说只有两个人的时候,我们可能会编写如下函数:def sum1(a,b): print('a = ',a) print('b = ',b) print('sum = ',a+b)# a = 10原创 2018-01-10 16:33:58 · 1676 阅读 · 0 评论 -
魔幻光影滤镜(3):美女人像“划重点”
(上面霉霉的处理效果图在末尾)上一篇文章:魔幻光影滤镜(2):仿Redfield Fractalius滤镜 之中,所有示例都是用的动物图片,不论是开头的PS示例还是后面程序用的,都是动物图。有位小伙伴表示,也许可以试试人像的效果,这简直是打开了新世界的大门啊,为啥我一直没有想到呢。这位小伙伴不只是说说而已,回去他还真尝试了一下,而且效果感人。除了小伙伴尝试了人像之外,我也尝试了原创 2018-01-29 13:53:59 · 1593 阅读 · 1 评论 -
OpenCV学完基础知识不知道做什么?!我不相信这是真的
编程是需要练习的,需要项目练手的。听不少人说过,学习完OpenCV的基础部分之后就不知道该干什么了?怎么可能呢?实际上能做的事情很多,不要因为觉得太简单或者太难就不动手做了。只要有兴趣有时间有需要,就先动手做起来。哪怕先实现其中最简单的部分,后面再慢慢的一边学习一边添加功能,也是好的。下面推荐一些项目,没有源码,自己动手查资料做哦,即使是网上能找到代码我还是推荐自己写一遍。实现原创 2018-01-29 14:05:00 · 26247 阅读 · 0 评论 -
OpenCV检测篇(二)——笑脸检测
前言由于本文与上一篇OpenCV检测篇(一)——猫脸检测具有知识上的连贯性,所以建议没读过前一篇的先去阅读一下前一篇,前面讲过的内容这里会省略掉。笑脸检测其实也没什么可省略的,因为跟在opencv中,无论是人脸检测、人眼检测、猫脸检测、行人检测等等,套路都是一样的。正所谓:自古深情留不住,总是套路得人心。发挥主要作用的函数有且仅有一个:detectMultiScale()。前一篇猫脸检测中已经提到过原创 2017-04-07 09:05:53 · 19276 阅读 · 9 评论 -
个人博客开通!——Django从入门到...WordPress
个人博客网站开通了,欢迎大家来逛:6xiaolong.cn网站搭建的过程简直是曲折。很多人都想有个自己的个人网站,平时发发博客啥的,想想就觉得高大上。。在搭建网站的诸多方法中,我一开始选择了最难的一种——自己写一个。然而…原因是这样的。当学习了Python之后,发现Python是可以写网站的。于是在本学期开学的时候心血来潮,就想要自己写一个博客网站。在什么都不懂的情况下粗略地了解了Django和F原创 2017-06-10 12:04:14 · 3820 阅读 · 5 评论 -
OpenCV|图片与视频的相互转换(C++&Python)
前言在学习opencv的过程中,终会遇到需要把视频转换成图片处理,或者把处理后的图片保存为视频格式的时候。这篇文章中就来看一下如何进行图片和视频之间的相互转换。视频转图片对于这种情况大家应该很熟悉了。因为学习opencv的时候肯定打开过摄像头,比如打开摄像头检测个人脸或者笑脸之类的。在这个过程中,实际就是把摄像头拍摄到的视频转换为一帧一帧的图片连续地进行处理。我们知道,对于打开视频和摄像头,open原创 2017-06-12 18:21:58 · 18871 阅读 · 6 评论 -
小密圈:OpenCV实践之路
最近发现一个很多意思的东西,小密圈。号称连接一千位铁杆粉丝,知识变现。据说小密圈可能是最好的微信公众号读者论坛。也做一个尝试,看有多少人愿意加入。仍然是分享OpenCV实战的内容和资料,除了平时写的内容分享之外,也会分享一些我平时的参考资料。原创 2017-06-11 18:55:32 · 1918 阅读 · 0 评论 -
OpenCV实践之路——用dlib库进行人脸检测与人脸标记(Python)
看人脸方面的资料的时候,会发现很多人都会提到dlib这个库,于是就安装尝试下这个库看看它到底有多么的神奇。今天只是初次尝试一下dlib到底怎么用。安装dlib:我的操作系统是window 7,安装了pip,所以直接可以命令行安装Python的各种扩展库pip install dlib主要步骤:1.加载dlib自带的frontal_face_detector作为我们的人脸原创 2016-04-11 00:13:31 · 31055 阅读 · 35 评论 -
OpenCV检测篇——猫脸检测
OpenCV检测篇(一)——猫脸检测OpenCV检测篇一猫脸检测OpenCVOpenCV的Python环境配置猫脸检测代码效果举一反三下期预告OpenCVOpenCV是时下最流行的基于C++的开源计算机视觉库,它功能丰富,函数众多,从最基本的读写图片,到简单的图像处理(比如降噪滤波、边缘检测、图像变换、特征提取等),再到更加高级的行人检测、人脸识别、文本识别等,尽皆包含。在OpenCV提原创 2017-04-02 16:51:56 · 10857 阅读 · 6 评论 -
C++调用Python处理vector
前言C++和Python都是当前最流行的语言之一,其强大的功能毋庸置疑,它们分别在不同甚至相同的领域发挥着至关重要的作用。C++是底层开发中起着中流砥柱的作用,屹立多年依然势头强劲不露颓势。而Python在最近大热的数据挖掘和人工智能领域独领风骚。而且Python为数极其众多的库支持几乎可以满足各个领域的开发者的需求。虽然他们都是非常强大的工具,但是在处理特定任务的时候,有时候会存在着方便与否的问题原创 2017-03-28 20:02:14 · 6518 阅读 · 4 评论 -
Django开发了个人博客以及开通公众号
学习Django之前在CSDN这里发布的内容大部分都是基于C++语言的,最近稍微深入多学了一下Python,也可以用Python做一些事情了,比如web开发。其实这跟我的专业没啥关系,主要是玩玩。业余时间在学Django。按照学习Django的惯例,一般最基础的教程就是写一个博客系统,我的第一个项目已经部署在PythonAnywhere了,大部分基础功能已经实现。但是还有一些功能还不能用或者不好用,原创 2017-03-27 21:23:29 · 1848 阅读 · 6 评论 -
OpenCV实践之路——雅虎色情图片检测神经网络试用报告
十一的时候,老司机再次发车,雅虎开源了其色情图片检测神经网络。老司机们得到消息第一时间就搭建了自己的检测平台。大家纷纷表示根本找不到数据测试的同时不忘言不由衷地抱怨以前写代码累脑袋,现在写代码累腰。有人说的好:一个爬虫+色情图片检测神经网络=一个会发车的程序猿。然而我一直等到现在才有开始试用,难道还不能说明问题吗!话不多说,开始我的试用之旅。首先找到雅虎开源项目原创 2016-10-15 12:53:48 · 42788 阅读 · 13 评论 -
Windows下Python配置theano的一些记录
果然,在windows上配置theano是要死人的。已经记不清是第几天了。好在终于配置好了。很多基于theano的库也可以用了。这里不说具体安装流程,只是简要记录下我遇到的问题以及解决方案。如果有人遇到相同的问题也能少走一些弯路。首先我的环境是windows64位,Python2.7.11。推荐一个网站,很多Python包都是在这里下载的,包括Theano:Unofficial Windows原创 2016-06-20 00:29:39 · 6698 阅读 · 6 评论 -
OpenCV实践之路——Python的安装和使用
由于下一步要开始研究下深度学习,而深度学习领域很多的算法和应用都是用Python来实现的,把Python转成C++代码耗时太多,不如直接学习下Python直接医用Python的代码。搭建Python环境的过程是很耗时的,但是现在回头来看又觉得其实没有多少步骤,主要是在自己不明白的时候老是会出现各种各样奇奇怪怪的问题。现在只是对正确的步骤做个记录吧。环境搭建:1.Python的安装,没什么可原创 2016-03-20 13:12:58 · 2977 阅读 · 0 评论 -
OpenCV实践之路——用OpenCV和Dlib进行人脸颜值预测(Python)
OpenCV实践之路——用OpenCV和Dlib进行人脸颜值预测本文由@星沉阁冰不语出品,转载请注明作者和出处。文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/52804013微博:http://weibo.com/xingchenbing本项目部分基于这个博客Computer Vision for Predicting Faci原创 2016-10-13 14:29:29 · 10738 阅读 · 11 评论 -
OpenCV玩九宫格数独(零)——预告篇
九宫格数独源于18世纪的瑞士,又称九宫格,有九行、久列和九宫。玩家需要在九宫格中,根据已知的数字,利用逻辑和推理能力,填出所有的空格中应有的数字。填的时候要求每行、每列和每宫都要不重复地包含数字0-9。每行、每列和每宫中1-9都必须出现且只能出现一次,故称之为数独。数独游戏考察的是解题者的观察能力和逻辑推理能力,虽然规则很简单,但是数字的排列方式却是包含千变万化,是一种锻炼思维的绝佳方式。有时候数独原创 2017-04-13 11:36:12 · 3419 阅读 · 0 评论 -
OpenCV玩九宫格数独(三):九宫格生成与数独求解
OpenCV玩九宫格数独(三):九宫格生成与数独求解前言在此之前,OpenCV玩九宫格数独(一)和(二)分别介绍了如何从九宫格图片中提取出已知数字和如何用knn训练数字识别模型。在这些前期工作都已经完成的基础上,接下来我们需要做什么呢?我们要做的有三部分:1.生成九宫格,也就是生成一个9x9的矩阵,把一直的数字按照图片中的位置填到矩阵中的相应位置,其他位置全部置0。2.编写数独求解算法,对九宫格矩阵原创 2017-04-18 10:34:07 · 6154 阅读 · 4 评论 -
如何遍历文件夹下的所有图片(Pyhton&C++)
前言虽然本文说的是遍历图片,但是遍历其他文件也是可以的。在进行图像处理的时候,大部分时候只需要处理单张图片。但是一旦把图像处理和机器学习相结合,或者做一些稍大一些的任务的时候,常常需要处理好多图片。而这里面,一个最基本的问题就是如何遍历这些图片。用opencv做过人脸识别的人应该知道,那个项目中并没有进行图片的遍历,而是用了一种辅助方案,生成了一个包含所有图片路径的文件at.txt,然后通过这个路径原创 2017-05-22 18:33:53 · 19518 阅读 · 3 评论 -
Python优雅地可视化数据
最近看《机器学习系统设计》…前两章。学到了一些用Matplotlib进行数据可视化的方法。在这里整理一下。声明:由于本文的代码大部分是参考书中的例子,所以不提供完整代码,只提供示例片段,也就是只能看出某一部分用法,感兴趣的需要在自己的数据上学习测试。最开始,当然还是要导入我们需要的包:# -*- coding=utf-8 -*-from matplotlib import pyplot as pl原创 2017-05-31 11:35:43 · 2615 阅读 · 2 评论 -
如何通过URL打开图片(Python)
不论是用opencv还是PIL,skimage等库,在之前做图像处理的时候,几乎都是读取本地的图片。最近尝试爬虫爬取图片,在保存之前,我希望能先快速浏览一遍图片,然后有选择性的保存。这里就需要从url读取图片了。查了很多资料,发现有这么几种方法,这里做个记录。本文用到的图片URL如下:img_src = 'http://wx2.sinaimg.cn/mw690/ac38503ely1fesz8m0o原创 2017-05-08 11:36:10 · 42843 阅读 · 1 评论 -
Python简单图片爬虫
经常在逛知乎,有时候希望把一些问题的图片集中保存起来。于是就有了这个程序。这是一个非常简单的图片爬虫程序,只能爬取已经刷出来的部分的图片。由于对这一部分内容不太熟悉,所以只是简单说几句然后记录代码,不做过多的讲解。感兴趣的可以直接拿去用。亲测对于知乎等网站是可用的。上一篇分享了通过url打开图片的方法,目的就是先看看爬取到的图片时什么样,然后再筛选一下保存。这里用到了requests库来获取页面信息原创 2017-05-15 22:49:37 · 3395 阅读 · 0 评论 -
Caffe+windows7+Visual Studio 2015+Python+CPU配置记录
前言以前配置过caffe,当时是Visual Studio 2013,因为当时的教程只有2013的。重装电脑之后,一直没有静下来去配置caffe,失败过好几次。这次算是找对教程和资源了,终于配置成功。本文不记录具体步骤,只给出我参考的链接,需要的人还是去看Github原版较好。这里只记录一些需要注意的地方。1. Caffe + Python如果只用Caffe的Python接口而不用C++接口的话,事原创 2017-05-24 11:50:18 · 5838 阅读 · 2 评论 -
OpenCV玩九宫格数独(二):knn数字识别
前言首先需要说明,这里所说的数字识别不是手写数字识别!但凡对机器学习有所了解的人,相信看到数字识别的第一反应就是MNIST。MNIST是可以进行数字识别,但是那是手写数字。我们现在要做的是要识别从九宫格图片中提取出来的印刷体的数字。手写数字集训练出来的模型用来识别印刷体数字,显然不太专业。而且手写体跟印刷体相差不小,我们最看重的正确率问题不能保证。本文从零开始做一遍数字识别,展示了数字识别的完整流程原创 2017-04-17 10:21:01 · 7183 阅读 · 2 评论