python3.6+opencv3.4
文章平均质量分 52
小韩学长
微信公众号:小韩学长带你学,分享大数据等知识干货以及考研等经验,是一个满足你学习不得不关注的公众号!
展开
-
opencv3.4.4+python3的配置(一)
一、最新的Python3.7下载安装参考链接:https://blog.csdn.net/qq_41661919/article/details/81200985二、最新的PyCharm下载安装参考链接:https://blog.csdn.net/liuzemeeting/article/details/79146251三、安装相应的包 参考链接:htt...原创 2018-12-02 10:59:40 · 1351 阅读 · 0 评论 -
opencv学习(二十三):形态学操作
图像的形态学处理 数学形态学(Mathematical morphology)是一门 建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。 膨胀、腐蚀、开运算和闭运算是数学形态学的四个基本运算,它们在二值图...原创 2018-12-08 14:46:56 · 679 阅读 · 0 评论 -
opencv学习(二十四):开闭操作
代码如下:#导入cv模块import cv2 as cvimport numpy as np#开操作,删除小的干扰快def open_demo(image): print(image.shape) gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) # ret, binary = cv.threshold(gray, 0...原创 2018-12-08 14:59:07 · 523 阅读 · 1 评论 -
opencv学习(二十五):分水岭算法
代码如下:#导入cv模块import cv2 as cvimport numpy as np# 分水岭算法def water_image(): print(src.shape) blurred = cv.pyrMeanShiftFiltering(src, 10, 100) # 去除噪声 # gray\binary image 灰度/二值化图像 ...原创 2018-12-08 15:25:08 · 400 阅读 · 0 评论 -
opencv学习(二十六):人脸检测
准备工作:找到分类器:方法:安装opencv软件包,或者把此文件放到根目录用pip安装的opencv不带分类器,所以要下载完整版的,可去官网下载安装,分类器位置在opencv\build\etc\haarcascades\haarcascade_frontalface_alt_tree.xml一、图片中的人脸检测代码如下(采用的第2个方法) #导入cv模块import...原创 2018-12-08 16:17:38 · 533 阅读 · 0 评论 -
opencv学习(十四):直方图的反向投影
目标: 直方图反向投影原理: 反向投影可以用来做图像分割,寻找感兴趣区间。它会输出与输入图像大小相同的图像,每一个像素值代表了输入图像上对应点属于目标对象的概率,简言之,输出图像中像素值越高的点越可能代表想要查找的目标。直方图投影经常与camshift(追踪算法)算法一起使用。 算法实现的方法,首先要为包含我们感兴趣区域的图像建立直方图(样例要找一片草坪,其他的不要)。被查找的对象...原创 2018-12-05 17:17:09 · 805 阅读 · 0 评论 -
opencv学习(十):高斯模糊理论知识
理论知识:参考链接:对Photoshop高斯模糊滤镜的算法总结:http://www.cnblogs.com/hoodlum1980/archive/2008/03/03/1088567.htmlPython计算机视觉3:模糊,平滑,去噪:https://www.cnblogs.com/smallpi/p/4562345.html引言:图像的模糊和平滑是同一个层面的意思,平滑的...原创 2018-12-03 16:50:54 · 355 阅读 · 0 评论 -
opencv学习(十一):高斯模糊
代码如下:# 导入cv模块import cv2 as cvimport numpy as np# 确保在0-255之间def clamp(pv): if pv > 255: return 255 if pv < 0: return 0 else: return pvdef gaussian_n...原创 2018-12-03 16:55:01 · 232 阅读 · 0 评论 -
opencv学习(十二):边缘保留滤波(EPF)
边缘保留滤波(EPF)代码如下:#导入cv模块import cv2 as cvimport numpy as np#高斯双边模糊EPFdef bi_demo(image): dst=cv.bilateralFilter(image,0,100,15) cv.imshow("di_demo",dst)def shift_demo(image): dst...原创 2018-12-03 18:55:01 · 871 阅读 · 0 评论 -
opencv学习(十三):图像直方图
一、安装matplotlib在cmd环境下,按照自己安装的python位置进入Scripts目录下,输入命令:pip install matplotlib二、 绘出图片的直方图代码如下:#导入cv模块import cv2 as cvimport numpy as npfrom matplotlib import pyplot as pltdef plot_demo(...原创 2018-12-03 19:00:16 · 246 阅读 · 0 评论 -
opencv学习(十五):模板匹配
引言 模板匹配是在一幅图像中寻找一个特定目标的方法之一。这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标。匹配方法 在 OpenCV 中,提供了相应的匹配函数完成这个操作:matchTemplate、 minMaxLoc matchTemplate 函数:在模板和...原创 2018-12-06 15:17:38 · 1469 阅读 · 2 评论 -
opencv学习(十六):图像的二值化
图像二值化介绍:https://blog.csdn.net/qq_30490125/article/details/80458500 https://blog.csdn.net/what_lei/article/details/49159655图像二值化:基于图像的直方图来实现的,0白色 1黑色相关函数说明函数thres...原创 2018-12-06 17:08:51 · 435 阅读 · 0 评论 -
opencv学习(二十二):轮廓发现
引言 当我们通过阈值分割提取到图像中的目标物体后,我们就需要通过边缘检测来提取目标物体的轮廓,使用这两种方法基本能够确定物体的边缘或者前景。接下来,我们通常需要做的是拟合这些边缘的前景,如拟合出包含前景或者边缘像素点的最小外包矩形、圆、凸包等几何形状,为计算它们的面积或者模板匹配等操作打下坚实的基础。 轮廓发现是是基于图像边缘提取的基础,寻找对象轮廓的方法,所以边缘...原创 2018-12-08 10:13:27 · 771 阅读 · 2 评论 -
opencv学习(二十一):圆检测
检测原理:参考链接:https://www.cnblogs.com/ssyfj/p/9275977.html#一houghcircles方法 https://blog.csdn.net/zhaocj/article/details/50454847实例演示:代码如下:#导入cv模块import cv2 as cvimport nump...原创 2018-12-07 19:48:42 · 323 阅读 · 0 评论 -
opencv学习(二):图片的加载与保存
实现图片的加载与保存:代码如下#导入cv模块import cv2 as cv#导入numpy模块import numpy as np#读取视频def video_demo(): capture=cv.VideoCapture(0) while(True): ret,frame=capture.read() frame=cv.fl...原创 2018-12-02 11:05:25 · 333 阅读 · 0 评论 -
opencv学习(三):Numpy数组操作
参考链接:https://blog.csdn.net/u011321546/article/details/79523115numpy操作数组输出图片 代码如下:#导入cv模块import cv2 as cv#导入numpy模块import numpy as np#访问图片的所有像素def access_pixels(image): #图片属性的读取 pri...原创 2018-12-02 15:50:32 · 873 阅读 · 0 评论 -
opencv学习(四):色彩空间转换
代码如下:#导入cv模块'''H:0-180 S:0-255 V:0-255'''import cv2 as cvimport numpy as npdef extrace_object_demo(): capture=cv.VideoCapture("F:/Projects/images/Video_demo.wmv") while(True): ...原创 2018-12-02 17:01:01 · 474 阅读 · 0 评论 -
opencv学习(五):图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)
一:数值运算opencv自带图片色素的处理函数:相加:add() 相减:subtract() 相乘:divide() 相除:multiply()原理就是:通过获取两张(一次只能是两张)个图片的同一个位置的色素值来实现运算。运算的要求:两张图片的shape要一样。二:逻辑运算opencv自带图片色素的处理函数:与:bitwise_add() ...原创 2018-12-02 19:36:06 · 1543 阅读 · 1 评论 -
opencv学习(六):粗略的调整图片对比度和亮度
基本原理:两张图片合成。 先按照原来的图片的格式新建一个色素全为零的图片,然后按照两张图的比例不同合成一张新图片。主要用到函数:addWeighted函数# -*- coding=GBK -*-import cv2 as cvimport numpy as np #粗略的调节对比度和亮度def contrast_brightness_image(src1, a, g)...原创 2018-12-02 19:39:55 · 576 阅读 · 0 评论 -
opencv学习(七):图片切割、合并、填充
一、图片切割与合并 原理通过操作图像矩阵来获取或合并指定位置的图像# -*- coding=GBK -*-import cv2 as cvimport numpy as np #截取图片中的指定区域或在指定区域添加某一图片def jie_image(src1): src2 = src1[5:89, 500:630]#截取第5行到89行的第500列到630列的区...原创 2018-12-03 09:27:16 · 1374 阅读 · 1 评论 -
opencv学习(八):floodFill填充函数
一、指定颜色填充:(1)代码如下:#导入cv模块import cv2 as cvimport numpy as np#泛洪填充def fill_color_demo(image): #彩色图片的填充 copyImg=image.copy() h,w=image.shape[:2] mask=np.zeros([h+2,w+2],np.uint8)...原创 2018-12-03 09:47:55 · 1945 阅读 · 0 评论 -
opencv学习(十七):图像金子塔
边缘检测算子参考学习链接:https://blog.csdn.net/xiaowei_cqu/article/details/7829481图像金子塔参考学习链接:https://www.cnblogs.com/Matrix420/p/4214123.htmlopencv中的高斯金字塔、拉普拉斯金字塔与图片尺寸缩放常用函数说明,可以使用OpenCV为我们提供的如下两种方式:...原创 2018-12-07 16:44:07 · 342 阅读 · 0 评论 -
opencv学习(十八):图像梯度
程序代码:#导入cv模块# -*- coding=utf-8 -*-import cv2 as cvimport numpy as np#lapalian算子def lapalian_demo(image): # dst=cv.Laplacian(image,cv.CV_32F) # lpls=cv.convertScaleAbs(dst) kernel...原创 2018-12-07 16:56:52 · 369 阅读 · 0 评论 -
opencv学习(十九):Canny边缘检测
参考学习链接:https://www.cnblogs.com/mightycode/p/6394810.html代码如下:#导入cv模块import cv2 as cvimport numpy as np#Canny边缘提取def edge_demo(image): blurred=cv.GaussianBlur(image,(3,3),0)#进行高斯降噪,效果更好 ...原创 2018-12-07 18:08:39 · 303 阅读 · 0 评论 -
opencv学习(二十):直线检测
霍夫直线检测原理:1、对于直角坐标系中的任意一点A(x0,y0),经过点A的直线满足Y0=k*X0+b.(k是斜率,b是截距)2、那么在X-Y平面过点A(x0,y0)的直线簇可以用Y0=k*X0+b表示,但对于垂直于X轴的直线斜率是无穷大的则无法表示。因此将直角坐标系转换到极坐标系就能解决该特殊情况。3、在极坐标系中表示直线的方程为ρ=xCosθ+ySinθ(ρ为原点到直线的距离),如...原创 2018-12-07 19:39:43 · 789 阅读 · 0 评论 -
opencv学习(十六):超大图像二值化
超大图像二值化的方法 1.可以采用分块方法;2.先缩放处理就行二值化,然后还原大小。一:分块处理超大图像的二值化问题#导入cv模块import cv2 as cvimport numpy as np#超大图像二值化def big_image_binary(image): print(image.shape) #超大图像,屏幕无法显示完整 cw=...原创 2018-12-06 19:27:45 · 1168 阅读 · 2 评论