自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

转载 Python Day05

我突然发现我其实文字都没有改,只是把里面的代码重新敲了一遍,所以应该不算原创,以后干脆归为转载吧。字符串和常用数据结构字符串所谓字符串,就是由零个或多个字符组成的有限序列,一般记为s=a1a2…an(0≤n≤∞){\displaystyle s=a_{1}a_{2}\dots a_{n}(0\leq n \leq \infty)}s=a1​a2​…an​(0≤n≤∞)。在Python程序中,如果我们把单个或多个字符用单引号或者双引号包围起来,就可以表示一个字符串。s1 = 'hello, world

2020-06-23 16:03:14 255

转载 Python Day04(2)

函数和模块的使用这一章文字内容很多,我只动手写了几个练习的代码,所以直接算转载吧在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。x1+x2+x3+x4=8x_1 + x_2 + x_3 + x_4 = 8x1​+x2​+x3​+x4​=8事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。CMN=M!N!(M−N)!,(M=7, N=3)C_M^N =\frac{M!}{N!(M-N)!}, \tex

2020-06-15 15:25:00 348

原创 Python Day04(1)

构造程序逻辑学完前面的几个章节后,我觉得有必要在这里带大家做一些练习来巩固之前所学的知识,虽然迄今为止我们学习的内容只是Python的冰山一角,但是这些内容已经足够我们来构建程序中的逻辑。对于编程语言的初学者来说,在学习了Python的核心语言元素(变量、类型、运算符、表达式、分支结构、循环结构等)之后,必须做的一件事情就是尝试用所学知识去解决现实中的问题,换句话说就是锻炼自己把用人类自然语言描述的算法(解决问题的方法和步骤)翻译成Python代码的能力,而这件事情必须通过大量的练习才能达成。我们在本章

2020-06-15 09:50:05 161

原创 Python Day03

循环结构循环结构就是程序中控制某条或某些指令重复执行的结构。在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。for-in循环如果明确的知道循环执行的次数或者要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in循环例如下面代码中计算1~100求和的结果#计算1到100的和sum=0for x in range (101): sum+=x;print("sum=%d" %(sum))当然,range的用法非常灵活:range(10

2020-06-11 18:17:26 166

原创 Python Day02

这些天一直在玩,今天良心发现写这篇,结果发现距离上一篇都一周多了。给自己立个flag吧,以后坚持每天学一点,最少两天更新。分支结构分支结构就是语言里面常说的if和else。需要说明的是和C/C++、Java等语言不同,Python中没有用花括号来构造代码块而是使用了缩进的方式来表示代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了。换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。缩进可以使用任意数量的空格,但通常使

2020-06-10 11:43:39 108

原创 Python Day-01(2)

语言类型变量变量类型整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如

2020-05-31 13:24:14 146

原创 Python Day-01(1)

注:本文初步的学习资料是 链接: https://github.com/jackfrued/Python-100-Days. 和https://www.cnblogs.com/java2018/p/12114770.html.初识Pythonpython的发展史就不介绍了,主要介绍一下python的优缺点和应用领域。Python的优缺点Python的优点很多,简单的可以总结为以下几点。1、简单明了,学习曲线低,比很多编程语言都容易上手。2、开放源代码,拥有强大的社区和生态圈,尤其是在数据分析和机

2020-05-31 12:06:51 161

原创 从头学习opencv(24)--其他形态学操作

顶帽(Top Hat)原图像与开运算结果图之差dst = tophat( src, element ) = src - open( src, element )kernel=cv.getStructuringElement(cv.MORPH_RECT,(5,5))dst=cv.morphologyEx(gray,cv.MORPH_TOPHAT,kernel)#顶帽运行结果灰度图像顶...

2019-06-28 10:14:07 264

原创 从头学习opencv(23)--开闭操作

参考 https://www.cnblogs.com/ssyfj/p/9277688.html开操作开操作=腐蚀+膨胀,输入图像+结构元素开操作先腐蚀,后膨胀特点:消除噪点,去除小的干扰块,而不影响原来的图像#开操作,去除干扰块def open_demo(image): print(image.shape) gray=cv.cvtColor(image,cv.COLOR...

2019-06-27 15:40:17 1372

原创 从头学习opencv(22)--膨胀与腐蚀

参考 http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/erosion_dilatation/erosion_dilatation.html#morphology-1图像形态学简单来讲,形态学操作就是基于形状的一系列图像处理操作。通过将 结构元素 作用于输入图像来产生输出图像。是图像处理学科的一个单独分支学...

2019-06-27 10:07:37 220

原创 从头学习opencv(21)--对象测量

对象测量弧长与面积多边形拟合几何矩计算完整代码import cv2 as cvimport numpy as npdef measure_object(image): gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) ret,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY_INV|c...

2019-06-26 16:47:11 249

原创 从头学习opencv(20)--轮廓发现

参考 https://www.cnblogs.com/FHC1994/p/9462144.html轮廓发现简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。可以用图像二值化得到二值化图像进行轮廓发现,也可以先边缘提取然后轮廓发现。完整代码import cv2 as cvimport numpy as np#边缘提取def e...

2019-06-26 14:58:41 221

原创 从头学习opencv(19)--圆检测

圆检测参考 https://www.cnblogs.com/FHC1994/p/9386783.html简介:1.霍夫圆变换的基本原理和霍夫线变换原理类似,只是点对应的二维极径、极角空间被三维的圆心和半径空间取代。在标准霍夫圆变换中,原图像的边缘图像的任意点对应的经过这个点的所有可能圆在三维空间用圆心和半径这三个参数来表示,其对应一条三维空间的曲线。对于多个边缘点,点越多,这些点对应的三维空...

2019-06-26 14:21:23 341

原创 从头学习opencv(18)--直线检测

霍夫线变换参考 https://www.cnblogs.com/FHC1994/p/9138315.html简介:1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从黑白图像中检测直线(线段)。2.Hough变换的原理是将...

2019-06-25 16:52:37 1275

原创 从头学习opencv(17)--Canny边缘检测

Canny边缘检测简介:1.Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。2.Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:好的检测- 算法能够尽可能多地标识出图像中的实际边缘。好的定位- 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。最小响应- 图像中的边缘只能标识一次,并且可能存在的图像噪声不应标识...

2019-06-25 14:48:12 311

原创 从头学习opencv(16)--图像梯度

参考https://www.cnblogs.com/FHC1994/p/9130184.html图像梯度简介:图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导。Sobel算子是普通一阶差分,是基于寻找梯度强度。边缘的变化最大,所以一阶导数最大的地方为边缘拉普拉斯算子(二阶差分)是基于过零点检测。通过计算梯度,设置阀值,得到边缘图像。边缘的变化最大,一阶导数最大,二...

2019-06-25 10:30:44 249

原创 从头学习opencv(15)--图像金字塔

参考https://www.cnblogs.com/FHC1994/p/9128005.html图像金字塔简介:图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说,图像金字塔就是用来进行图像缩放的。进行图像缩放可以用图像金字塔,也可以使用resize函数进行缩放,后者效果更好。这里只是对图像金字塔做一些简单了解。两种类型的金...

2019-06-25 09:25:46 241

原创 从头学习opencv(14)--超大图像二值化

超大图像二值化分块全局阈值&局部阈值代码层面知识点1.图像大小获取2.图像ROI与空白图像过滤3.图像二值化完整代码import cv2 as cvimport numpy as npdef big_image_binary(image): print("image shape",image.shape) cw=256 ch=256 ...

2019-06-24 10:34:41 230

原创 从头学习opencv(13)--图像二值化

补充说明参考https://www.cnblogs.com/FHC1994/p/9125570.html全局阈值#全局阈值def threshold_demo(image): gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) #ret,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY|cv.TH...

2019-06-23 11:22:33 171

原创 从头学习opencv(12)--模板匹配

模板匹配参考:https://www.cnblogs.com/FHC1994/p/9123393.html模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。简单来说,模板匹...

2019-06-23 09:41:00 305

原创 从头学习opencv(11)--直方图反向投影

代替直方图#建立代替直方图def hist2d_demo(image): hsv=cv.cvtColor(image,cv.COLOR_BGR2GRAY) hist=cv.calcHist(image,[0,1],None,[32,32],[0,180,0,256]) #cv.imshow("hist2d",hist) plt.imshow(hist,inter...

2019-06-22 15:39:05 162

原创 从头学习opencv(10)--直方图应用

直方图均衡化直方图均衡化(即调整图像的对比度)直方图即统计各像素点的频次#直方图的应用 直方图均衡化(即调整图像的对比度) 直方图即统计各像素点的频次#全局化直方图均衡化def equalHist_demo(image): gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) # opencv的直方图均衡化要基于单通道灰度图像 ...

2019-06-21 11:01:09 132

原创 从头学习opencv(9)--直方图

直方图#直方图def plt_demo(image): plt.hist(image.ravel(),256,[0,256]) # numpy的ravel函数功能是将多维数组降为一维数组 plt.show()#画三通道图像的直方图def image_hist(image): color=('blue','green','red') for i,co...

2019-06-21 10:50:36 155

原创 从头学习opencv(8)--边缘保留滤波EPF

边缘保留滤波解释来自于https://blog.csdn.net/u013921430/article/details/84532068高斯滤波之所以会导致图像变得模糊,是因为它在滤波过程中只关注了位置信息;例如,以 q qq 为中心的窗口中,某一点 p pp 在高斯滤波过程中的权重的计算方法如下式;即在滤波窗口内,距离中心点越近的点的权重越大;这种只关注距离的思想在某些情况下是可行的,例...

2019-06-20 10:45:54 538

原创 从头学习opencv(7)--高斯模糊

高斯噪声博客写的比较简单,不过我发现了一下很不错的博主,https://www.cnblogs.com/FHC1994/看他的可以理解很多学习的时候不明白的地方。这篇文章很多参考了他的博客https://www.cnblogs.com/FHC1994/p/9097231.html#高斯噪声def gaussian_noise(image): h,w,c=image.shape ...

2019-06-20 09:13:45 249

原创 从头学习opencv(6)--模糊操作

模糊操作基本原理1.基于离散卷积2.定义好每个卷积核3.不同卷积核得到不同的卷积效果4.模糊是卷积的一种表象卷积原理根据视频所讲的意思2 3 6 8 5 7 6 6 9 12 3 5 6 6 6 6 7 5 15=3+6+8/3取整7=6+6+9/3模糊操作1.均值模糊#均值模...

2019-06-19 14:48:10 106

原创 从头学习opencv(5)--ROI与泛洪填充

ROI在我看来就是被选中的区域。选择一段区域进行操作,然后可以将操作返回到原图像中去。#ROI#截取ROI区域face=src[50:375,100:400]#变为灰色gray=cv.cvtColor(face,cv.COLOR_BGR2GRAY)backface=cv.cvtColor(gray,cv.COLOR_GRAY2BGR)#将灰色部分赋回给src的选中部分src[50...

2019-06-19 10:42:55 290

原创 从头学习opencv(4)--像素运算

算术运算–加减乘除#算数运算(加、减、乘、除)、均值、均方差def add_demo(m1,m2): dst=cv.add(m1,m2) cv.imshow("add_demo",dst)def subtract_demo(m1,m2): dst=cv.subtract(m1,m2) cv.imshow("subtract_demo",dst)def...

2019-06-05 09:49:38 437

原创 从头学习opencv(3)--色彩空间

什么是色彩空间常见色彩空间相互转换#色彩空间相互转换def color_space_demo(image): gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY) cv.imshow("gray",gray) hsv=cv.cvtColor(image,cv.COLOR_BGR2HSV) cv.imshow("hsv", h...

2019-06-03 15:02:34 161

原创 从头学习opencv(2)--numpy数组操作

代码import cv2 as cvimport numpy as npdef access_pixels(image): print(image.shape) height=image.shape[0] width=image.shape[1] # 管道数 channels=image.shape[2] print("height:%s...

2019-05-31 19:07:26 253

原创 从头学习opencv(1)--图像加载与保存、打开摄像头

图像加载与保存代码import cv2 as cvimport numpy as npdef video_demo(): capture = cv.VideoCapture(0) while(True): # ret是返回值,frame是帧数 ret,frame=capture.read() frame=cv.flip...

2019-05-28 12:44:46 168

原创 从头学习opencv(0)--环境搭建

本人虽然计算机专业,然后编程还是很废柴。最近对计算机视觉等很感兴趣,了解到了OpenCV的强大。决定要好好给自己一个发展方向,所以决定从头开始学习OpenCV。写这个博客就是为了督促自己学习,也是为了做个笔记。OpenCV环境搭建以及测试我的搭建环境以及版本:python-3.6.3-amd64pycharm-professional-2019.1.2opencv-3.4.5-vc14_...

2019-05-26 11:35:26 119

空空如也

空空如也

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

TA关注的人

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