OpenCV
文章平均质量分 82
冰不语
这个作者很懒,什么都没留下…
展开
-
【CV派】新玩法——AI一键抠图+素描
看过之前文章的朋友们知道,我最近成立了一个门派,与公众号同名,名为【CV派】。山门及门派一众高手介绍如下:新玩法话说最近新入门的高手CV小素,竟然撇下其妹妹AI小素,整天与AI魅婷“称姊道妹”。当然,与魅婷厮混是可以理解的,毕竟魅婷是CV派人气第一的高手,看看每个高手底部的赞数就一目了然了。正因为如此,不仅仅是CV小素,其他高手,比如AI卡图,其实也在找机会与魅婷套近乎。魅婷为人热情,在于众人论道的过程中也不藏私,其功法绝学【一键抠图】被不少人学了去。与此同时,魅婷也是学到了不少新技能,比如CV小素原创 2020-11-01 22:13:59 · 614 阅读 · 0 评论 -
肖像转素描:AI小素的前世今生
一. 小素的全名和家族箴言前段时间,我做了个AI,叫小素,能够把肖像图片转成素描风格。受限于数据集,目前只是人物肖像的转换效果还能看,其余的如风景建筑、花鸟虫鱼、风花雪月之类的图片,也可以转换,只是效果嘛…只能说一切皆有可能!下面是小素的几张人物肖像的转换效果:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7V8RAgNV-1599990106307)(https://img.cvpy.net/sketch_example_1.jpg)]这几张转换效果还是不错的。原创 2020-09-13 17:45:41 · 780 阅读 · 0 评论 -
OpenCV3.3出炉,DNN为最大亮点
OpenCV3.3在8月3号正式出炉,想要体验最新特性的朋友可以去官网下载了,反正配置一下只需要几分钟。这次最主要的更新就是,终于把DNN模块从contrib里面提到主仓库里面,放到了官方发布版中。虽然我配置的一直是OpenCV with contrib,但是对于DNN模块,限于电脑配置太低,一直没有怎么尝试。这次可以借着新版发布抽空尝试一下了。按照官方介绍,DNN现在有下面几点特性:无需任何依赖新原创 2017-08-06 11:08:21 · 7175 阅读 · 6 评论 -
个人博客开通!——Django从入门到...WordPress
个人博客网站开通了,欢迎大家来逛:6xiaolong.cn网站搭建的过程简直是曲折。很多人都想有个自己的个人网站,平时发发博客啥的,想想就觉得高大上。。在搭建网站的诸多方法中,我一开始选择了最难的一种——自己写一个。然而…原因是这样的。当学习了Python之后,发现Python是可以写网站的。于是在本学期开学的时候心血来潮,就想要自己写一个博客网站。在什么都不懂的情况下粗略地了解了Django和F原创 2017-06-10 12:04:14 · 3821 阅读 · 5 评论 -
人脸识别源码运行指南
前言人脸识别的源码放出来之后,不少小伙伴下载之后仍然不能运行成功。于是被逼无奈,把源代码改成了我认为最容易运行成功的版本。即使如此,我认为写下这个指南还是有必要的。因为反复回答相同的问题实在是太累人了。 重复一遍,本文环境为win7+vs2015+opencv3.2_with_contrib源码下载地址公众号回复:人脸识别源码或者 网盘: http://pan.baidu.com/s/1b1J2原创 2017-06-26 11:11:12 · 7989 阅读 · 29 评论 -
OpenCV|图片与视频的相互转换(C++&Python)
前言在学习opencv的过程中,终会遇到需要把视频转换成图片处理,或者把处理后的图片保存为视频格式的时候。这篇文章中就来看一下如何进行图片和视频之间的相互转换。视频转图片对于这种情况大家应该很熟悉了。因为学习opencv的时候肯定打开过摄像头,比如打开摄像头检测个人脸或者笑脸之类的。在这个过程中,实际就是把摄像头拍摄到的视频转换为一帧一帧的图片连续地进行处理。我们知道,对于打开视频和摄像头,open原创 2017-06-12 18:21:58 · 18883 阅读 · 6 评论 -
小密圈:OpenCV实践之路
最近发现一个很多意思的东西,小密圈。号称连接一千位铁杆粉丝,知识变现。据说小密圈可能是最好的微信公众号读者论坛。也做一个尝试,看有多少人愿意加入。仍然是分享OpenCV实战的内容和资料,除了平时写的内容分享之外,也会分享一些我平时的参考资料。原创 2017-06-11 18:55:32 · 1919 阅读 · 0 评论 -
如何遍历文件夹下的所有图片(Pyhton&C++)
前言虽然本文说的是遍历图片,但是遍历其他文件也是可以的。在进行图像处理的时候,大部分时候只需要处理单张图片。但是一旦把图像处理和机器学习相结合,或者做一些稍大一些的任务的时候,常常需要处理好多图片。而这里面,一个最基本的问题就是如何遍历这些图片。用opencv做过人脸识别的人应该知道,那个项目中并没有进行图片的遍历,而是用了一种辅助方案,生成了一个包含所有图片路径的文件at.txt,然后通过这个路径原创 2017-05-22 18:33:53 · 19521 阅读 · 3 评论 -
如何通过URL打开图片(Python)
不论是用opencv还是PIL,skimage等库,在之前做图像处理的时候,几乎都是读取本地的图片。最近尝试爬虫爬取图片,在保存之前,我希望能先快速浏览一遍图片,然后有选择性的保存。这里就需要从url读取图片了。查了很多资料,发现有这么几种方法,这里做个记录。本文用到的图片URL如下:img_src = 'http://wx2.sinaimg.cn/mw690/ac38503ely1fesz8m0o原创 2017-05-08 11:36:10 · 42863 阅读 · 1 评论 -
Python简单图片爬虫
经常在逛知乎,有时候希望把一些问题的图片集中保存起来。于是就有了这个程序。这是一个非常简单的图片爬虫程序,只能爬取已经刷出来的部分的图片。由于对这一部分内容不太熟悉,所以只是简单说几句然后记录代码,不做过多的讲解。感兴趣的可以直接拿去用。亲测对于知乎等网站是可用的。上一篇分享了通过url打开图片的方法,目的就是先看看爬取到的图片时什么样,然后再筛选一下保存。这里用到了requests库来获取页面信息原创 2017-05-15 22:49:37 · 3398 阅读 · 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 · 5842 阅读 · 2 评论 -
OpenCV玩九宫格数独(二):knn数字识别
前言首先需要说明,这里所说的数字识别不是手写数字识别!但凡对机器学习有所了解的人,相信看到数字识别的第一反应就是MNIST。MNIST是可以进行数字识别,但是那是手写数字。我们现在要做的是要识别从九宫格图片中提取出来的印刷体的数字。手写数字集训练出来的模型用来识别印刷体数字,显然不太专业。而且手写体跟印刷体相差不小,我们最看重的正确率问题不能保证。本文从零开始做一遍数字识别,展示了数字识别的完整流程原创 2017-04-17 10:21:01 · 7186 阅读 · 2 评论 -
OpenCV玩九宫格数独(一)——九宫格图片中提取数字
前言首先要明确我们的任务。要想解数独,需要进行计算,图片格式的数字肯定是不行的,所以必须把图片上的数字转换为实实在在的数字才能进行计算。要得到实实在在的数字,我们需要做的是对图片上的数字进行提取和识别。本文先说第一步,图片中数字的提取。在一年之前,我曾用C++尝试过opencv解数独,但由于当时水平有限,未能完成。当时的成果就是透视变换的应用和方格数字的提取。现在稍微简化一下工作,不再从倾斜的数独图原创 2017-04-14 10:29:18 · 14652 阅读 · 16 评论 -
Visual Studio 2015一分钟配置opencv及CMake编译OpenCV3.1(含opencv-contrib)
本文由@星沉阁冰不语出品,转载请注明作者和出处。文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/52821497微博:http://weibo.com/xingchenbing 本文包含以下几个内容,大家可以根据自己的需要自行选取内容观看。至于为什么这么晚才写这么基础的博客,主要是因为没有经过原创 2016-11-23 14:36:54 · 17392 阅读 · 16 评论 -
OpenCV玩九宫格数独(三):九宫格生成与数独求解
OpenCV玩九宫格数独(三):九宫格生成与数独求解前言在此之前,OpenCV玩九宫格数独(一)和(二)分别介绍了如何从九宫格图片中提取出已知数字和如何用knn训练数字识别模型。在这些前期工作都已经完成的基础上,接下来我们需要做什么呢?我们要做的有三部分:1.生成九宫格,也就是生成一个9x9的矩阵,把一直的数字按照图片中的位置填到矩阵中的相应位置,其他位置全部置0。2.编写数独求解算法,对九宫格矩阵原创 2017-04-18 10:34:07 · 6154 阅读 · 4 评论 -
OpenCV的鼠标操作——用鼠标画矩形(代码解读)
起因知乎上被邀请回答一个问题,关于OpenCV的鼠标操作的问题。我发现回答下来写了不少东西,可以整理为一篇文章发出来,顺便说下不少人关心的如何用操作鼠标,比如如何用鼠标在图像上画一个矩形或者说选择一个矩形的ROI。知乎上的问题问的是下面这段代码是什么意思。正好,这段代码我是看过的,而且就在最近两周。所以正好可以说道一下。介绍这一段代码我最初是在contrib模块里面tracking模块的sample原创 2017-08-07 10:36:19 · 5799 阅读 · 1 评论 -
OpenCV的dnn模块调用TesorFlow训练的MoblieNet模型
一、初得模型那是一个月之前的事情了,我利用TesorFlow Object Detection API训练了现在目标检测里面应该是最快的网络MobileNet。当时的目的就只是学习整个finetuning的流程,于是我只是用了20张自己标注的人脸样本图片作为训练集去finetuning,训练完之后的模型通过修改TesorFlow Object Detection API自带的例程代码,即object原创 2017-11-01 18:06:30 · 25640 阅读 · 48 评论 -
OpenCV实践之路——人脸识别之三识别自己的脸
在之前OpenCV实践之路——人脸识别之一数据收集和预处理和OpenCV实践之路——人脸识别之二模型训练两篇博客中,已经把人脸识别的整个流程全部交代清楚了。包括今天这篇人脸识别方面的内容都已经在上述第二篇博客中的代码中有所体现。只是今天的内容会让结果更加的形象化。仅此而已。可以说,本篇的内容是前面诸多内容的一个整合。所以今天的内容也很简洁。简单说下流程:1.打开摄像头。2.加载人脸检测原创 2016-05-21 21:18:02 · 71015 阅读 · 113 评论 -
OpenCV学完基础知识不知道做什么?!我不相信这是真的
编程是需要练习的,需要项目练手的。听不少人说过,学习完OpenCV的基础部分之后就不知道该干什么了?怎么可能呢?实际上能做的事情很多,不要因为觉得太简单或者太难就不动手做了。只要有兴趣有时间有需要,就先动手做起来。哪怕先实现其中最简单的部分,后面再慢慢的一边学习一边添加功能,也是好的。下面推荐一些项目,没有源码,自己动手查资料做哦,即使是网上能找到代码我还是推荐自己写一遍。实现原创 2018-01-29 14:05:00 · 26252 阅读 · 0 评论 -
魔幻光影滤镜(3):美女人像“划重点”
(上面霉霉的处理效果图在末尾)上一篇文章:魔幻光影滤镜(2):仿Redfield Fractalius滤镜 之中,所有示例都是用的动物图片,不论是开头的PS示例还是后面程序用的,都是动物图。有位小伙伴表示,也许可以试试人像的效果,这简直是打开了新世界的大门啊,为啥我一直没有想到呢。这位小伙伴不只是说说而已,回去他还真尝试了一下,而且效果感人。除了小伙伴尝试了人像之外,我也尝试了原创 2018-01-29 13:53:59 · 1595 阅读 · 1 评论 -
魔幻光影滤镜(2):仿Redfield Fractalius滤镜
引言熟悉PS的人也许知道,PS滤镜中有一个Redfield Fractalius,可以让图片展现出魔幻的效果,比如一直可爱的喵星人,经过魔幻光影滤镜处理之后就会展现出下面威武霸气的样子:还有这样这样那么我们能不能用OpenCV来实现这样的效果呢?答案显然是可以的。而且OpenCV还提供了相应的例子,这就大大简化了我们学习的负担。今天我们就来看看这个程序吧。程序要原创 2018-01-26 11:57:18 · 1738 阅读 · 0 评论 -
魔幻滤镜Gabor Filter 原理与实现(python & C++)
Gabor Filter以下定义翻译引用自维基百科: 在图像处理领域,以Dennis Gabor命名的Gabor滤波器,是一种用于纹理分析的线性滤波器,即它主要分析的是,图像在某一特定区域的特定方向上是否有特定的频率内容。当代许多视觉科学家认为,Gabor滤波器的频率和方向的表达与人类的视觉系统很相似,尽管并没有实验性证据和函数原理能证明这一观点。研究发现,Gabor滤波器特别适合于纹原创 2018-01-26 11:50:08 · 2766 阅读 · 0 评论 -
元旦赠书 | 18本纸质书:OpenCV、Python和机器学习,总有一本适合你
【本文首发于公众号【CVPy】。以下赠书活动需要在公众号中参与。文章末尾扫码关注。】送福利圣诞的时候送的三本书已经发出,而且其中的两人已经收到,路途较远的那个还在路上。当时主页君原话是这样的: 由于准备仓促,此次赠书数量不多,不过以后还有机会,主页君会为大家多多争取。大家一起努力,大家越给力,主页君越有底气。是的,上次送了三本,但是大家很不过瘾,主页君说了会为大家多多争取的!这次主页君蒙电子工原创 2017-12-29 20:43:37 · 3670 阅读 · 0 评论 -
人脸识别博客整理及学习建议
一、前言之前基于OpenCV断断续续写了几篇关于人脸识别的博客。最开始是写了三篇一系列整套的流程。后来由于问问题的人太多,就又针对一些问题写了些东西,后来OpenCV3出来之后把程序又改成了OpenCV3版本。并且把程序修改的极其容易上手运行,我觉得改的不能更简单了,因为配置好之后其实修改下路径只需要点运行就差不多了。再后来,OpenCV3.3出来之后,人脸识别模块的API发生了变化,于是继续写出来原创 2017-12-14 11:41:09 · 9592 阅读 · 11 评论 -
用Python给头像加上圣诞帽
引言随着圣诞的到来,大家纷纷@官方微信给自己的头像加上一顶圣诞帽。当然这种事情用很多P图软件都可以做到。但是作为一个学习图像处理的技术人,还是觉得我们有必要写一个程序来做这件事情。而且这完全可以作为一个练手的小项目,工作量不大,而且很有意思。用到的工具OpenCV(毕竟我们主要的内容就是OpenCV…)dlib(前一篇文章刚说过,dlib的人脸检测比OpenCV更好用,而且dlib有OpenCV原创 2017-12-23 16:59:13 · 5826 阅读 · 2 评论 -
图像处理笔试面试题
秋招各种笔试面试,总结下遇到的图像处理和C++的题目。写下来的都是能记起来的,记不起来的应该也有不少。大概让没有经历过的人知道会遇到什么样的问题,可以提前准备下。除了一下题目之外,最多的还是围绕着你做过的项目来问的。一、图像处理题目注意,一下所有需要写代码的题目,不允许使用OpenCV的Mat类。如果图片内容需要用指针读取。给定0-1矩阵,求连通域。(遇到过N次,笔试面试都有,最好做到能徒手hac原创 2017-12-12 18:20:20 · 10864 阅读 · 6 评论 -
OpenCV3.3人脸识别模块的API的变化
OpenCV3.3人脸识别模块的API的变化1. 前言开始用最新版的OpenCV进行人脸识别的小伙伴也许已经发现了,人脸识别的最新API变化了。这也正是人脸识别等contrib模块没有放到主仓库的原因:不稳定,仍在开发中。当然这次的变化也预示着一些好的事情,毕竟自从OpenCV2.4时期人脸识别模块加入到OpenCV之后就几乎没怎么变过,这次变化说明又有人开始为OpenCV的人脸识别模块贡献代码了。原创 2017-11-19 13:37:31 · 8248 阅读 · 5 评论 -
OpenCV实践之路——人脸检测(C++/Python)
之前一直觉得人脸检测是非常麻烦的,即使是用opencv,麻烦到我都不敢去碰。这两天仔细看了下,如果只是调用opencv自带的分类器和函数的话,简直是简单。这不,正好最近也在学习Python,索性就用C++和Python两种语言都实现一下。当然,我现在这个是最简单的版本。步骤:调用opencv训练好的分类器和自带的检测函数检测人脸人眼等的步骤简单直接:1.加载分类器,当然分类器事先要放在原创 2016-04-09 15:29:10 · 27558 阅读 · 52 评论 -
OpenCV实践之路——使用imread()函数读取图片的六种正确姿势
经常看到有人在网上询问关于imread()函数读取图片失败的问题。今天心血来潮,经过实验,总结出imread()调用的四种正确姿势。通常我要获取一张图片的绝对路径是这样做的:在图片上右键——属性——安全——对象名称。然后复制对象名称就得到了图片的绝对路径。如图:然而这样得到的路径直接复制粘贴到vs里面会直接报错,如下:可以看出我们获取的绝对路原创 2016-05-11 16:19:35 · 120656 阅读 · 13 评论 -
OpenCV实践之路——人脸识别之一数据收集和预处理
前段时间对人脸检测和人脸标记进行了一些尝试:人脸检测(C++/Python)和用Dlib库进行人脸检测和人脸标记。但是检测和识别是不同的,检测解决的问题是图片中有没有人脸;而识别解决的问题是,如果一张图片中有人脸,这是谁的脸。人脸检测可以利用opencv自带的分类器,但是人脸识别就需要自己收集数据,自己训练分类器了。opencv给出的有人脸识别的教程:Face Recognition with原创 2016-05-12 21:27:07 · 66514 阅读 · 75 评论 -
OpenCV实践之路——人脸识别之二模型训练
本文由@星沉阁冰不语出品,转载请注明作者和出处。文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/51386949微博:http://weibo.com/xingchenbing 在之前的博客人脸识别之一数据收集和预处理之中,已经下载了ORL人脸数据库,并且为了识别自己的人脸写了一个拍照程序自拍原创 2016-05-14 20:42:03 · 61907 阅读 · 177 评论 -
C++从零实现深度神经网络之零——前言
一年前接触最初神经网络,半年前就像自己写一个最简单的BP神经网络练练手,结果由于能力有限,不光是编程能力还有理论方面的能力都有限,一直推到半年后的现在才真正的开始。其实很多坑必须要自己亲自踩过之后才能明白。在我看来,我现在这个过程就是在踩坑的过程。在不断犯错和改错中提高。在这里记录下自己的踩坑过程。这是一个堪称简陋(随着时间推移,应该会变得更好)的练手性质的小项目,而且重复造轮子,目的是为了加深自己原创 2016-12-15 18:21:02 · 6090 阅读 · 3 评论 -
OpenCV之识别自己的脸——C++源码放送
OpenCV之识别自己的脸——C++源码放送前言在将近一年之前,我在CSDN专栏《OpenCV实践之路》中连续发了三篇博客,完整地描述了基于OpenCV进行人脸识别的全过程。三篇都将近一万的阅读量和大量的评论的表明,人脸识别果然是大家在学习OpenCV过程中最感兴趣的课题,之一。当然,也有可能是本科生毕设老师最感兴趣的课题之一。。。由于当时写的时候是按照前后流程来的,所以源码比较分...原创 2017-04-05 09:49:57 · 12970 阅读 · 48 评论 -
C++从零实现深度神经网络之壹——Net类的设计和神经网络的初始化
闲言少叙,直接开始。 既然是要用C++来实现,那么我们自然而然的想到设计一个神经网络类来表示神经网络,这里我称之为Net类。由于这个类名太过普遍,很有可能跟其他人写的程序冲突,所以我的所有程序都包含在namespace liu中,由此不难想到我姓刘。在之前的博客反向传播算法资源整理中,我列举了几个比较不错的资源。对于理论不熟悉而且学习精神的同学可以出门左转去看看这篇文章的资源。这里假设读者对于神经原创 2016-12-15 20:19:55 · 7332 阅读 · 7 评论 -
C++从零实现深度神经网络之二——前向传播和反向传播
本文由@星沉阁冰不语出品,转载请注明作者和出处。文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/53674544微博:http://weibo.com/xingchenbing 前一篇博客Net类的设计和神经网络的初始化中,大部分还是比较简单的。因为最重要事情就是生成各种矩阵并初始化。神经网络中的重点和核心就是本文的内容——前向原创 2016-12-15 23:55:08 · 9033 阅读 · 16 评论 -
OpenCV实践之路——雅虎色情图片检测神经网络试用报告
十一的时候,老司机再次发车,雅虎开源了其色情图片检测神经网络。老司机们得到消息第一时间就搭建了自己的检测平台。大家纷纷表示根本找不到数据测试的同时不忘言不由衷地抱怨以前写代码累脑袋,现在写代码累腰。有人说的好:一个爬虫+色情图片检测神经网络=一个会发车的程序猿。然而我一直等到现在才有开始试用,难道还不能说明问题吗!话不多说,开始我的试用之旅。首先找到雅虎开源项目原创 2016-10-15 12:53:48 · 42789 阅读 · 13 评论 -
OpenCV实践之路——circle函数实现出下落的小球动画
今天本来想到如何自己实现下SIFT呢,就像先学会如何在图像检测出最大值然后再最大值上画圆吧。就是这么简单的不要不要的。慢慢来嘛。于是开始先画圆,然后就停不下来了。。。画个圆之后想着怎么让圆实现下落的效果呢,最后终于还是试出来了。本来实现的更复杂点的,比如小球随机运动,达到windows屏保气泡的效果。但是现在已经是午夜了,先把这个简单的记录下来,复杂的慢慢研究吧。下面是在VS2013中实现的代码原创 2016-02-20 00:18:14 · 4748 阅读 · 0 评论 -
OpenCV实践之路——opencv调试利器ImageWatch的安装使用
Opencv自带文档和教程应该好好利用。以前不知道怎么用,随着学习的深入,以前不知如何下手的东西现在都慢慢地清晰了起来。今天按照opencv的自带教程尝试了IamgeWatch插件的用法,非常好用,非常强大。下面的内容主要是参考下面的文档:Image Watch: viewing in-memory images in the Visual Studio debugger看原文估计原创 2016-02-21 15:10:30 · 2154 阅读 · 1 评论 -
OpenCV实践之路——像素初探
安装ImageWatch之后,对于图片每一个点的像素值一目了然。由于之前对于像素点的操作老是出现各种问题,比如上次想要实现矩形图片的对角线切割就是一直没能成功。今天借助IamgeWatch正好探究下Mat数据结构中像素到底是怎么访问的。我用了一种比较直观的方式来访问像素。即利用at函数: cout (Point(3,2)) = " (Point(3, 2)) << endl (P原创 2016-02-21 18:06:22 · 2026 阅读 · 0 评论 -
OpenCV实践之路——方形图片对角线切割
学习opencv和C++已经有一段时间了,现在开始写一些小程序练手。在这里做一个记录。之前在群里看到有人求助如何沿对角线把一幅图像分成两幅图像,自己就试了一下,然而现在只能把方形图片分开,矩形的还在研究中。主要方法就是先把矩形图片resize成方形的,然后用循环分割开来。对于矩形图片的对角线分割,不知道为啥一直能成功。还在研究中。方形图片分割实现代码如下:#include#i原创 2016-01-20 13:22:44 · 3377 阅读 · 0 评论