自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李元静

一个能让你轻松学习鸿蒙与Python的博主

  • 博客(325)
  • 资源 (29)
  • 问答 (12)
  • 收藏
  • 关注

原创 实现抖音时光倒流效果---OpenCV-Python开发指南(56)

目录抖音时光倒流原理抖音时光倒流原理抖音的时光倒流原理,应该来说最好理解,也就是将视频倒放。如果你是掌握PR或者AE的用户,那么视频倒放肯定手到擒来。但是,今天我们要做的是使用OpenCV程序实现视频的倒放效果(当然PR与AE底层实现的效果就是这段代码原理)。下面,我们来一步步掌握视频的整体倒放,以及部分倒放的操作代码。...

2021-04-10 18:13:42 7618

原创 实现抖音霓虹灯效果---OpenCV-Python开发指南(55)

目录抖音霓虹灯原理实现4个图片霓虹灯效果实现视频霓虹灯效果抖音霓虹灯原理抖音霓虹灯算法原理:实时的光斑绘制,我们观察抖音霓虹的,你会发现所有的光斑都是圆形。所以,这里我们会使用cv2.circle()函数负责绘制霓虹圆形效果。设计多幅素材图片,黑底上面有亮色的光斑,不同的图片中光斑的位置不同。算法原理简单点翻译就是:加载视频,每间隔1帧在图像绘制光斑,一共定义4种光斑的位置,循环在视频中进行渲染。实现4个图片霓虹灯效果一般来说霓虹灯的效果都在视频的上下左右的边缘。为了让读者更加的通俗易懂一

2021-04-09 18:02:39 7933

原创 实现抖音闪烁效果---OpenCV-Python开发指南(54)

目录抖音视频闪烁原理实现抖音视频闪烁抖音视频闪烁原理在抖音视频的抖动过程中,我们还可以发现其视频的颜色曝光度都发生了一些变化,并不是单纯的只有抖动效果。所以,本篇将来实现视频的闪烁效果。而图像闪烁的原理,其实说白了就是其曝光度的变化。在更改视频曝光度的之前,我们需要认识一个OpenCV中新的函数:cv2.LTU()。LUT就是Look Up Table(颜色查找表)的缩写,简单点儿理解就是:通过LUT,我们可以将一组RGB值输出为另一组RGB值,从而改变画面的曝光与色彩。LUT文件就是一个包含了可以

2021-04-08 18:29:48 7841

原创 实现抖音视频抖动效果---OpenCV-Python开发指南(53)

目录漫画实现原理漫画实现原理

2021-04-07 18:13:39 7953

原创 实现漫画效果---OpenCV-Python开发指南(52)

目录漫画实现原理实现漫画效果的程序步骤实战实现漫画效果漫画实现原理在网上随便找一个漫画的图像,我们都可以清楚的看到漫画都比较粗糙,笔触夸张,也就是说色彩并不细腻,比如漫画的头发,看上去就是一个颜色,不仅如此漫画还保留了很多墨水绘制的线条,因此我们实现漫画的步骤,可以分为如下5步:应用双边滤波器来减少图像的色彩将彩色图像转换为灰度图像使用边缘检测算法提取灰度图像的边缘信息对于检测的边缘进行增强并二值化产生粗线条的特征图像将3步骤处理的图像与原图像进行叠加,最终实现漫画效果实现漫画效果的程序

2021-04-06 18:28:51 7937

原创 万恶的马赛克---OpenCV-Python开发指南(51)

目录马赛克算法原理马赛克算法原理在平常的生活中,我们会经常看到各种马赛克,比如某些宅男硬盘里的视频马赛克,有些直播犯罪嫌疑人的头像遮罩马赛克等。可以说在生活中,马赛克无处不在。因此,我们在学习OpenCV的同时,也要熟练掌握马赛克的应用。下面,我们来了解马赛克算法的具体原理。...

2021-04-05 18:35:14 10536 8

原创 实现油画效果---OpenCV-Python开发指南(50)

目录油画的实现原理油画的实现原理油画简单的理解是带有艺术感的图像,色彩相对于原图要更加鲜艳,但却是失真的。而且对于喜欢欣赏艺术的读者,肯定或多或少关注过油画,油画并不细腻,而且小部分因为色块的堆积非常模糊。所以,我们实现油画的原理是:逐行对图像进行处理,使设置相邻距离的像素进行打乱。...

2021-04-04 13:47:53 7450 1

原创 实现素描效果---OpenCV-Python开发指南(49)

目录素描的实现原理反色的实现高斯滤波素描的实现原理要实现一种图像处理的效果,首先我们需要掌握其实现的具体原理。相信经常使用PS的用户肯定自己通过该软件处理过素描的效果实现。那么,我们可以参考一样PS实现素描效果的步骤:去色:因为素描只有黑白两种颜色,所以彩色图像必须转换为灰度图像复制去色图层,并且反色。反色的公式为:Y(i,j)=255-X(i,j)对反射图像进行高斯模糊模糊后的图像叠加模式选择颜色减淡效果而颜色减淡的公式如下:C=MIN(A+(A+B)/(255-B),255)C:

2021-04-03 18:06:43 7440

原创 实现怀旧滤镜与连环画滤镜---OpenCV-Python开发指南(48)

目录牛仔滤镜实现原理实现牛仔滤镜牛仔滤镜实现原理不管是荣耀华为手机还是其他的手机,我们都可以找到相机中的牛仔效果,这是手机中常用的一种滤镜效果。牛仔风格的设计主要是在图像的颜色空间进行处理。以BGR为例,对B、G、R这3个通道的颜色数值进行处理,让图像有一种泛黄的牛仔效果。设计的转换公式如下:B=0.272r+0.534g+0.131bG=0.349r+0.686g+0.168bR=0.393r+0.769g+0.189*b计算公式中的小写的bgr是原图像的RGB通道的颜色,结果BGR是牛仔变

2021-04-03 13:53:42 7380

原创 实现抖音哈哈镜效果---OpenCV-Python开发指南(47)

目录前言哈哈镜放大效果前言在抖音中,我们经常看到各种抖音玩家都喜欢使用哈哈镜效果。那么什么是哈哈镜呢?在现实生活中,哈哈镜是指一种表面凹凸不平的镜子,可以反应出人像及物体的扭曲面貌。简单点来说就是拉伸人脸(物件),或者压缩人脸(物体)的效果。哈哈镜的实现原理如下:假设输入图像的宽高为w和h,图像中心点的坐标为(cx,cy)。那么图像中任意一点(x,y)到中心点的距离为(x-cx),(y-cy)。那么拉升放大,图像变换的半径为r,得到公式如下:x=(tx/2)(sqrt(txtx+tyty)/r

2021-04-02 19:11:36 8507 2

原创 屏幕录制与GIF转换---OpenCV-Python开发指南(46)

目录常规应用视频转换为GIF常规应用对于程序员来说,在实际的生活中,对于一些简单的程序,往往都是使用自己编写的代码。毕竟学以致用才能熟练掌握,而OpenCV在生活中最常用的一些功能包括:将视频转换为GIF、录制屏幕,图片格式转换等等等等。这些小程序说实话从网上下载往往会有很多的病毒,而使用PS或者PR的门槛对于有些人来说又有点高,那怎么办呢?自己动手丰衣足食。视频转换为GIF在前面的博文中,我们已经介绍了视频的相关操作。对于视频来说,其是由一帧一帧的图像构成的,同样的GIF图片也是。所以,我们可

2021-04-01 18:14:49 7197 1

原创 直方图均衡化处理:去雾---OpenCV-Python开发指南(45)

目录直方图均衡化实现灰度图像去雾实现彩色图像去雾直方图均衡化直方图均衡化的目的是将原始图像的灰度级均匀地映射到整个灰度级范围内,得到一个灰度级分布均衡的图像。这种均衡化,即实现了灰度值统计上的概率均衡,也实现了人类视觉系统上(HSV)的视觉均衡。一般来说,直方图均衡化可以达到增强图像显示效果的目的。最常用的比如去雾。下面,我们来分别实现灰度图像去雾以及彩色图像去雾。实现灰度图像去雾在OpenCV中,它提供了函数cv2.equalizeHist()来实现直方图均衡化,该函数的完整定义如下:def

2021-03-31 19:01:10 10033 1

原创 Fisherfaces人脸识别---OpenCV-Python开发指南(44)

目录Fisherfaces原理Fisherfaces实现人脸识别Fisherfaces原理PAC方法是EigenFaces人脸识别的核心,它找到了最大化数据总方差特征的线性组合。但是其具有明显的缺点,在操作过程中会损失许多人脸的特征信息。因此在某些特殊的情况下,如果损失的信息刚好是用于分类的关键信息,必然导致结果预测错误。Fisherfaces采用LDA(Linear Discriminant Analysis,线性判别分析)实现人脸识别。线性判别分析最早由Fisher在1936年提出,是一种经典的线

2021-03-31 14:29:57 8602 1

原创 EigenFaces人脸识别---OpenCV-Python开发指南(43)

目录EigenFaces原理EigenFaces识别步骤EigenFaces实战人脸识别EigenFaces原理EigenFaces通常也被称为特征脸,它使用主成分分析(Principal Component Analysis,PAC)方法将高维的人脸数据处理为低维数据后,在进行数据分析和处理,获取识别结果。EigenFaces简单来说就是对原始数据使用PCA方法进行降维,获取其中的主成分信息,从而实现人脸识别的方法。EigenFaces识别步骤在OpenCV中,它给我们提供函数cv2.face.

2021-03-30 18:04:45 8520

原创 LBPH人脸识别---OpenCV-Python开发指南(42)

目录前言LBPH方法的基本原理LBPH实现步骤前言前篇博文我们讲解了人脸检测的基本操作。但人脸检测只是人脸识别领域的一个非常小的分支。一般情况下,使用人脸识别,都是比对对应的人脸的判断是否是本人,或者是否是某个人。所以,我们需要进一步学习人脸识别的相关知识。在OpenCV中,它提供了3种人脸识别的方法,分别为:LBPH方法,EigenFishfaces方法,Fisherfaces方法。本篇,将讲解LBPH方法进行人脸识别操作。LBPH方法的基本原理LBPH(Local Binary Pattern

2021-03-29 18:02:43 10654

原创 人脸检测---OpenCV-Python开发指南(41)

目录人脸检测函数检测图像中的N个人脸人脸检测函数在OpenCV中,人脸检测使用的函数是cv2.CascadeClassifier.detectMultiScale(),它可以检测图像中所有的人脸。其完整定义如下:def detectMultiScale(self, image, scaleFactor=None, minNeighbors=None, flags=None, minSize=None, maxSize=None):image:待检测的图像,通常为灰度图像scaleFactor:表

2021-03-28 18:03:17 7168

原创 K近邻算法识别数字---OpenCV-Python开发指南(40)

目录K近邻算法识别手写数字调整图像K近邻算法模型搭建K近邻算法机器学习算法是从数据中产生模型,也就是进行学习的算法。我们把经验提供给算法,它就能够根据经验数据产生模型。在面对新的情况时,模型就会为我们提供预测的结果。例如,识别数字,文字时,其实识别它们并不需要颜色,使用二值图像就行,而二值图像的数字文字都是0,1组成,机器学习会根据0与1的位置匹配最相近的文字或者数字,从而得出结果。而机器学习中的K近邻算法最适合识别图像中的文字或者数字信息。K近邻算法又称为KNN算法,是非常经典的机器学习算法。其原理

2021-03-27 18:21:26 7140

原创 视频处理VideoWriter类---OpenCV-Python开发指南(39)

目录VideoWriter构造函数write函数释放实战保存摄像头录制的视频录制Canny边缘检测视频VideoWriter在前一篇博文中,我们学习了如何使用摄像头,并处理每一帧的图像。但是,处理完视频之后,并没有讲解如何保存视频。所以,本篇将详细的讲解如何保存视频中的图片以及视频本身。在OpenCV中,它给我们提供了cv2.VideoWriter类将图片序列保存为视频。同时,通过该类,我们也可以修改视频的各种属性,完成对视频类型的转换。一般我们使用cv2.VideoWriter类,需要如下3个步骤

2021-03-26 18:23:17 8874 1

原创 视频处理VideoCapture类---OpenCV-Python开发指南(38)

目录视频VideoCapture类初始化检查摄像头是否初始化成功捕获帧释放属性设置grab()与retrieve()捕获摄像头视频捕获文件视频视频视频是非常重要的视觉信息来源,它是视觉处理过程中经常要处理的一类信号。实际上,视频是由一系列图像构成,这一系列的图像被称为帧,帧是以固定时间间隔从视频中获取的。获取帧的速度称为帧速率,其单位通常使用“帧率/每秒”表示,代表在1秒内所出现的帧数,也就是游戏迷称为的FPS。如果我们从视频中提取出独立的帧,就可以使用图像处理的方法对其进行处理,达到处理视频的目的。

2021-03-25 18:00:25 11758 2

原创 交互式前景提取---OpenCV-Python开发指南(37)

目录什么是交互式前景提取grabCut函数提取图像前景使用模板提取图像前景什么是交互式前景提取经典的前景提取技术主要使用纹理(颜色)信息,如魔术棒工具,或根据边缘(对比度)信息,如智能剪刀等完成。2004年,微软研究院的Rother等人在论文中提出了交互式前景提取技术。他们提出的算法,仅需要做很少的交互操作,就能够准确地提取出前景图像。在开始提取前景时,先用一个矩形框指定前景区域所在的大致位置范围,然后不断迭代地分割,直到达到最好的效果。经过上述处理后,提取前景的效果可能并不理想,存在前景没有提取出来

2021-03-24 18:00:56 7367

原创 用分水岭算法实现图像的分割与提取---OpenCV-Python开发指南(36)

目录图像分割分水岭算法waterShed函数形态学分割图像分割了解分水岭算法之前,我们需要了解什么是图像的分割。在图像的处理过程中,经常需要从图像中将前景对象作为目标图像分割或者提取出来。例如,在视频监控中,观测到的是固定背景下的视频内容,而我们对背景本身并无兴趣,感兴趣的是背景中出现的车辆,行人或者其他对象。我们希望将这些对象从视频中提取出来,而忽略那些没有对象进入背景的视频内容。分水岭算法图像分割是图像处理过程中一种非常重要的操作。分水岭算法将图像形象地比喻为地理学上的地形表面,实现图像分割,

2021-03-23 19:17:16 11573 3

原创 霍夫变换---OpenCV-Python开发指南(35)

目录什么是霍夫变换HoughLines函数HoughLines实战HoughLinesP实战HoughCircles实战什么是霍夫变换霍夫变换是一种在图像中寻找直线,圆形以及其他简单形状的方法。霍夫变换采用类似于投票的方式来获取当前图像内的形状集合,该变换由Paul Hough(霍夫)于1962年首次提出。最初的霍夫变换只能用于检测直线,经过发展后,霍夫变换不仅能够识别直线,还能识别其他简单的图形结构,常见的有圆形,椭圆等。HoughLines函数在OpenCV中,它给我们提供了cv2.Hough

2021-03-22 17:57:57 6796

原创 多模板匹配---OpenCV-Python开发指南(34)

目录多模板匹配获取匹配位置的集合循环在循环中使用zip()替换坐标实战多个子图像多模板匹配在上一篇的实战中,我们通过人物眼睛的子图,找出了其在图像中出现位置。但是,有些情况下,并不仅仅只有一次,比如我们讲解傅里叶变换时,曾介绍一张草原的狮子图。如果匹配某个草,可能单个图像内会有很多,这个时候就要找出多个匹配结果。而函数cv2.minMaxLoc()仅仅能找出最值,无法给出所有匹配区域的位置信息。所以,要想匹配多个结果,就需要进行如下4个步骤:获取匹配位置的集合首先,Numpy库中的函数where(

2021-03-21 18:06:50 7094 3

原创 模板匹配人眼---OpenCV-Python开发指南(33)

目录什么是模板匹配模板匹配函数实现模板匹配什么是模板匹配模板匹配是指在当前图像A内寻找与图像B最相似的部分,可以理解找茬,但是这里是找出一样的信息。一般我们将图像A称为输入图像,将图像B称为模板图像。模板匹配的原理就是将模板B图像在图像A上滑动遍历,找出与其匹配的部分。模板匹配函数在OpenCV中,它给我们提供了cv2.matchTemplate()函数来完成模板匹配。其函数的完整定义如下:def matchTemplate(image, templ, method, result=None,

2021-03-20 18:03:48 6391

原创 cv2实现傅里叶变换---OpenCV-Python开发指南(32)

目录前言实现傅里叶变换实现逆傅里叶变换前言在前一篇的博文中,我们详细讲解了傅里叶变换的原理以及使用Numpy库实现傅里叶变换。但是其实OpenCV有直接实现傅里叶变换的函数。在OpenCV中,我们通过cv2.dft()来实现傅里叶变换,使用cv2.idft()来实现逆傅里叶变换。两个函数的定义如下:cv2.dft(原始图像,转换标识)这里的原始图像必须是np.float32格式。所以,我们首先需要使用cv2.float32()函数将图像转换。而转换标识的值通常为cv2.DFT_COMPLEX_O

2021-03-19 17:56:19 8729

原创 傅里叶变换原理---OpenCV-Python开发指南(31)

目录前言傅里叶变化实现傅里叶变化实现逆傅里叶变化高通滤波与低通滤波前言要理解傅里叶变换,我们首先需要了解图像处理。在图像处理的过程中,一般分为空间域处理和频率域处理。空间域处理是直接对图像内的像素进行处理。空间域处理主要划分为灰度变换和空间滤波两种形式。灰度变换是对图像内的单个像素进行处理,比如调节对比度和处理阈值等。控制滤波处理涉及图像质量的改变,例如前面额图像平滑处理。空间域处理的优点:计算简单方便,运算速度更快频率域处理时先将图像变换到频率域,然后在频率域对图像进行处理,最后在通过反变换将图像

2021-03-18 18:24:04 6269

原创 图像的输入输出与显示---OpenCV-Python开发指南(30)

目录前言使用PIL读取,保存和显示图像使用matplotlib读取,保存和显示图像使用scikit-image读取,保存和显示图像前言在讲解后面的采样以及傅里叶变换之前,我们需要掌握python对图像的输入、输出以及显示等操作。本篇涉及都是简单的图像显示保存等操作,但是后面基于此复杂的变换都会或多或少用到这些知识。所以,别看非常简单,应用起来还是非常多的。使用PIL读取,保存和显示图像在PIL包中,使用Image.open()函数读取磁盘图像。获取图像后,我们可以完整的获取图像的宽高,分辨率等信息

2021-03-17 17:58:44 6457

原创 轮廓的特征值---OpenCV-Python开发指南(29)

目录前言宽高比ExtendSolidity等效直径方向掩摸和像素点前言轮廓自身的一些属性特征及轮廓所包围对象的特征对于描述图像具有重要意义。本篇博文将介绍几个轮廓自身的属性特征及轮廓包围对象的特征。宽高比在轮廓中,我们可以通过宽高比来描述轮廓,例如矩形的轮廓宽高比为:宽高比=宽度/高度下面,我们来计算矩形轮廓的宽高比,代码如下:import cv2img = cv2.imread("26_1.jpg")cv2.imshow("img", img)# 转换为灰度图像gray = cv

2021-03-16 18:03:55 6003

原创 凸包---OpenCV-Python开发指南(28)

目录前言获取凸包角点凸缺陷前言逼近多边形是某天图像轮廓的高度近似,而凸包的提出是为了简化逼近多边形的。其实,凸包跟逼近多边形很像,只不过它是物体最外层的“凸”多边形。简单的概括,凸包是指完全包含原有轮廓,并且仅由轮廓上的点所构成的多边形。凸包的特点是每一处都是凸的,即在凸包内连接任意两点的直线都在凸包的内部,并且任意连续3个点的内角小于180度。在OpenCV中,它给我们提供cv2.convexHull()来获取轮廓的凸包。其完整定义如下:def convexHull(points, hull=N

2021-03-15 17:56:07 6290

原创 轮廓拟合---OpenCV-Python开发指南(27)

目录前言绘制椭圆的矩形边界最小包围矩形框最小包围圆形框最优拟合椭圆最优拟合直线最小外包三角形逼近多边形前言在计算轮廓时,可能并不需要实际的轮廓,而仅需要一个接近于轮廓的近似多边形。比如矩形其实都是差不多的轮廓,都是长宽不相等且平行的四边形,那么只要提供一个近似的轮廓,我们就可以区分形状。在OpenCV中,它给我们提供了cv2.boundingRect()函数来绘制轮廓的矩形边界,其完整定义如下:def boundingRect(array):array:前面已经介绍过,array是一个灰度图像,

2021-03-14 18:13:41 6870 1

原创 Hu矩---OpenCV-Python开发指南(26)

目录什么是Hu矩获取Hu矩值形状匹配什么是Hu矩Hu矩是归一化中心矩的线性组合。Hu矩在图像的旋转,缩放,平移等操作后,仍然保持矩的特征不变,所以经常会用到Hu矩来识别图像的特征。在OpenCV中,我们可以通过cv2.HuMoments()函数获取Hu矩。该函数使用cv2.moments()函数的返回值作为参数,返回7个Hu矩值。其完整定义如下:def HuMoments(m, hu=None):m:是由函数cv2.moments()计算得到的矩特征值获取Hu矩值下面,我们就通过该函数获取

2021-03-13 17:58:50 5993

原创 矩特征---OpenCV-Python开发指南(25)

目录什么是矩特征矩的计算矩的特征提取一副图像的特征矩计算轮廓的面积计算轮廓的长度什么是矩特征通过前篇博文的学习,我们知道如何从图像中分解轮廓。而矩特征是比较两个轮廓最简单的方法,通过它们的轮廓矩就能判断。首先,轮廓矩代表了一个轮廓,一副图像,一组点集的全局特征。矩信息包含了对应对象不同类型的几何特征,比如大小,位置,角度,形状等。矩特征被广泛应用在图像识别,模式识别的场景中。矩的计算在OpenCV中,它给我们提供了cv2.moments()函数来获取图像的轮廓矩,其完整的定义如下:def mo

2021-03-12 17:59:38 8134

原创 查找并绘制轮廓---OpenCV-Python开发指南(24)

目录什么是图像轮廓查找图像轮廓参数mode绘制图像轮廓图像轮廓结合按位与获取图像前景对象什么是图像轮廓在前面的边缘检测中,虽然我们能够检测出边缘信息,但边缘是不连续的,检测到的边缘并不是一个整体。而图像的轮廓负责将边缘连接起来形成一个整体,用于后续的计算。需要特别注意,图像的轮廓是非常重要的一个特征信息,通过对图像轮廓的操作,我们能够获取目标图像的大小,位置以及方向等信息。查找图像轮廓图像中一个轮廓对应着一系列的点,这些点以某种形式表示图像中的一条曲线。在OpenCV中,它给我们提供了函数cv2.

2021-03-11 18:00:25 5622 1

原创 图像金字塔---OpenCV-Python开发指南(23)

目录什么是图像金字塔高斯金字塔拉普拉斯金字塔实战什么是图像金字塔图像金字塔是由一副图像的多个不同分辨率的子图所构成的图像集合。该组图像是由单个图像通过不断地降低采样所产生的,最小的图像可能仅仅只有一个像素点。如下图所示,分辨率从低到高,逐渐降低的图像集合。通常level0是原图,每往上一层图像的宽高降低为原来的一半,以此类推。比如假如level0的原图宽高为N,那么level1的宽高就为N/2,得到的就是(N/2)*(N/2)大小的图像。最简单的金字塔是通过删除图像的偶数行或偶数列得到。当然,也可

2021-03-10 18:05:54 5424

原创 Canny边缘检测---OpenCV-Python开发指南(22)

目录什么是Canny边缘检测获取图像的边缘什么是Canny边缘检测Canny边缘检测是一种使用多级边缘检测算法检测边缘的方法。该方法由John F. Canny于1986年发表。Canny边缘检测主要分为4个步骤:(1)去噪。噪声会影响边缘检测的准确性,因此首先要将噪声过滤掉。(2)计算梯度的幅度与方向(3)非极大值抑制,即适当地让边缘“变瘦”。(4)确定边缘。使用双阈值算法确定最终的边缘信息。在实际的图像边缘检测中,我们一般先用高斯滤波去除图像噪声(1),然后计算梯度的幅度与角度两个值(2

2021-03-09 18:03:48 5306

原创 Scharr与Laplacian滤波器---OpenCV-Python开发指南(21)

目录Scharr滤波器Laplacian滤波器Scharr滤波器OpenCV还给我们提供了Scharr滤波器,该滤波器与Sobel滤波器具有同样的处理速度,且精度更高。可以把它看出Sobel滤波器的改良版本,其核通常为:在OpenCV中,它提供函数cv2.Scharr()来计算Scharr滤波器,其完整定义如下:def Scharr(src, ddepth, dx, dy, dst=None, scale=None, delta=None, borderType=None):参数与Sobel滤

2021-03-08 18:33:05 5482

原创 图像梯度与Sobel滤波器---OpenCV-Python开发指南(20)

目录图像梯度Sobel滤波器图像梯度图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。一般情况下,图像的梯度计算是图像的边缘信息。其实梯度就是导数,但是图像梯度一般通过计算像素值的差来得到梯度的近似值,也可以说是近似导数。该导数可以用微积分来表示。在微积分中,一维函数的一阶微分的基本定义是这样的:而图像是一个二维函数f(x,y),其微分当然就是偏微分。因此有:因为图像是一个离散的二维函数,

2021-03-07 18:00:52 6685

原创 通用形态学函数---OpenCV-Python开发指南(19)

目录通用形态学函数开运算闭运算形态学梯度运算顶帽运算黑帽运算结构元函数通用形态学函数上篇博文,我们介绍了形态学的基础腐蚀与膨胀操作,而将腐蚀与膨胀结合起来进行组合,我们就能实现开运算,闭运算等复杂的形态学运算。在OpenCV中,它给我们提供的通用形态学函数为cv2.morphologyEx(),其完整定义如下:def morphologyEx(src, op, kernel, dst=None, anchor=None, iterations=None, borderType=None, borde

2021-03-06 18:00:59 5226

原创 腐蚀与膨胀---OpenCV-Python开发指南(18)

目录什么是形态学腐蚀膨胀什么是形态学要了解腐蚀之前,我们需要了解一个概念:形态学。形态学,又名数学形态学(Mathematical Morphology),是图像处理过程中一个非常重要的研究方向。形态学主要从图像内提取分量信息,该分量信息通常对于表达和描绘图像的形状具有重要的意义,通常是图像理解时所使用的最本质的形状特征。例如,在识别手写数字时,能够通过形态学运算得到其骨架信息,在具体的识别时,仅针对其股价进行运算即可。形态学处理在视觉检测,文字识别,医学图像处理,图像压缩编码等领域都有非常重要的应

2021-03-05 18:06:52 5314

原创 图像平滑处理---OpenCV-Python开发指南(17)

目录什么是图像平滑处理均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积什么是图像平滑处理在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声,这一过程我们称之为图像的平滑处理,所得到的图像称为平滑图像。那么什么是图像的噪声呢?图像的噪声就是图像中与周围像素点差异较大的像素点。噪声的处理就是将其更改为临近像素点的近似值,使图像更平滑。图像平滑处理的噪声取值的方式有以下6种:(1)均值滤波(2)方框滤波(3)高斯滤波(4)中值滤波(5)双边滤波(6)2D卷积(自定义滤波)均值滤波均值滤

2021-03-04 18:01:06 5291

MD5批量图片修改程序

MD5批量图片修改程序,自媒体运营人员可以通过该程序,直接将图片修改为不一样的MD5,规避抄袭限流问题。

2022-03-07

9宫格生成程序.exe

本程序提供图片、动图以及视频等资源的9宫格生成。

2021-05-26

股票K线图识别软件.zip

股票K线图识别软件

2021-04-09

手写字体识别.xlsx

Excel数字识别训练集

2021-03-07

python音频处理thinkdsp.zip

python音频处理thinkdsp,thinkplot,python音频处理thinkdsp,thinkplot,python音频处理thinkdsp,thinkplot

2020-03-06

自定义View实现支付宝支付成功动画

自定义View实现支付宝支付成功动画,通过属性动画以及PathMeasure实现。

2019-11-07

ScratchApplication.zip

android自定义刮刮乐实现,通过自定View以及混合模式的方式实现。

2019-11-07

仿百度福袋界面实现

仿百度福袋界面,你也改进直接拿去实现APP解锁界面。那么还有等什么下载看看。

2016-02-03

Android模拟登录评论CSDN

Android模拟登录评论CSDN,里面的secondActivity是这个功能,其他为闲来之笔。特告知。

2016-01-26

TextInputLayout实现网易邮箱登录界面

TextInputLayout实现网易邮箱登录界面,中间还简单介绍怎么使用Snackbar.zip

2016-01-03

Android Support Design Library之TabLayout

Android Support Design Library之TabLayout与ViewPager配合实现网易首页滚动菜单栏

2015-12-31

Android CSDN APP粗略模仿

Android CSDN粗略模仿代码,其用到二个开源工具一个是Xutils,一个是afinal,还用到炫酷的侧滑菜单以及圆形头像。

2015-12-27

网易新闻之横向滑动菜单

Android网易新闻之横向滑动菜单,其功能有下划线联动算法,无限添加标题栏,其功能和网易新闻APP一致。

2015-11-04

网易新闻标题栏之本市天气

网易新闻开始系列之网易新闻标题栏之天气,里面涉及百度定位的使用及获取百度天气信息及解析JSON数据。

2015-11-01

Android百度定位及天气获取

网易新闻APP之标题栏,不过里面使用的技术是百度定位及车联网API。获取定位城市和天气信息。并显示到界面中。

2015-11-01

网易新闻之24小时要闻

本代码重点讲解了网易新闻APP之标题栏之24小时要闻和底部菜单栏。代码虽然不尽然和网易相同,优化也不是很到位,但是后续的博客都会改进。网址如下:http://blog.csdn.net/liyuanjinglyj

2015-10-29

网易新闻底部菜单栏

网易新闻的底部菜单栏的实现,这个应该是谷歌提倡的实现方法。有意者可以下载之。

2015-10-21

反编译apktool

反编译APK专用工具,获取某个应用资源,植入代码到其他APK中都需要apktool。

2015-10-21

仿网易新闻之爬虫程序

爬网易首页新闻条目,及新闻的详细内容。可以作为典型的爬虫程序作为参考,有意者可以下载之。

2015-10-20

网易新闻首页爬虫开发包

支持网易新闻首页滚动新闻,与头条区24条新闻的抓取。LYJ开发系列类。

2015-10-05

防QQListView滑动置顶删除功能

防QQListView滑动置顶删除功能,侧滑动,置顶源代码。

2015-09-19

Android OpenGL绘制圆柱类

圆柱辅助绘制类,可以重用,也可以说具有高度重用性,通俗易懂,适合了解OpenGL怎么绘制复杂的几何物体。

2015-07-01

Android OpenGL纹理的编程框架

该代码编程结构清晰,逻辑清楚,适合初学者了解Android OpenGL纹理编程的结构。

2015-06-28

protoc-2.6.1-win32.zip

protoc-2.6.1-win32.zip,使用于对象的值在整个生命周期中保持不变的。

2015-05-22

Protocol Buffers 2.6.1 full source

Protocol Buffers 2.6.1 full source,官方正版资源,适合与对象的值在整个生命周期保持不变。

2015-05-22

GSON开发包

使用Gson进行高级JSON处理会比内置的JSON解析更加高效方便,而且是2015的最新版本。

2015-05-21

android开发文档(英文版)

本开发文档是最新的开发文档,android最新版本的。开发用的开发包里面应有竟有。如果你需要请下载吧。。学会分享,学会学习

2013-07-05

VA_X_Setup1908.exe

vs2010下可用的C++/CLi编辑器智能提示工具,需要同时下载破解文件,打包在一起了-vs2010 available under C++/CLi Editor Intellisense tool, need to download the crack files, packaged together

2012-08-21

Windows应用程序捆绑核心编程

这个教材资源相对于其他资源来说更容易理解 并不是因为简单,而是理论与实际相结合

2012-08-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除