![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python2.7+opencv3.0
七刀
爱编程,爱学习,爱分享……
现在关注我的以后可都是老粉了……
展开
-
python实现opencv学习八:粗略的调整图片对比度和亮度
基本原理:两张图片合成。 先按照原来的图片的格式新建一个色素全为零的图片,然后按照两张图的比例不同合成一张新图片。主要用到函数:addWeighted函数# -*- coding=GBK -*-import cv2 as cvimport numpy as np#粗略的调节对比度和亮度def contrast_brightness_image(src1, a, g):...原创 2018-03-15 10:36:33 · 19168 阅读 · 6 评论 -
python实现opencv学习六:色彩空间转换
一:调用转换函数实现图像色彩空间转换代码如下:# -*- coding=GBK -*-import cv2 as cv#色彩空间的转换def color_space_demo(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)#RGB转换为gray cv.imshow("gray", gray) hsv = c...原创 2018-03-12 22:13:49 · 6551 阅读 · 0 评论 -
python实现opencv学习十六:图像梯度
一、索贝尔算子# -*- coding=GBK -*-import cv2 as cv#图像梯度:索贝尔算子def sobel_image(image): grad_x = cv.Sobel(image, cv.CV_32F, 1, 0)#x方向导数 grad_y = cv.Sobel(image, cv.CV_32F, 0, 1)#y方向导数 gradx = c...原创 2018-03-19 10:29:14 · 2690 阅读 · 2 评论 -
python实现opencv学习十七:Canny边缘检测算法
算法参考资料:https://www.cnblogs.com/mightycode/p/6394810.html代码如下# -*- coding=GBK -*-import cv2 as cv#边缘检测述算法def edge_image(image): blurred = cv.GaussianBlur(image, (3, 3), 0) gray = cv.cvtCol...原创 2018-03-19 20:08:37 · 3922 阅读 · 0 评论 -
python实现opencv学习十八:直线检测
代码如下:# -*- coding=GBK -*-import cv2 as cvimport numpy as np#霍夫直线检测def line_image(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) edges = cv.Canny(gray, 50, 150, apertureSize=3) l...原创 2018-03-19 20:30:47 · 5409 阅读 · 2 评论 -
python实现opencv学习十九:圆检测
霍夫圆检测代码如下:# -*- coding=GBK -*-import cv2 as cvimport numpy as np#圆检测def circles_image(image): dst = cv.pyrMeanShiftFiltering(image, 10, 100) cimage = cv.cvtColor(dst, cv.COLOR_BGR2GRAY)...原创 2018-03-19 21:01:56 · 4392 阅读 · 0 评论 -
python实现opencv学习二十:轮廓发现
代码如下:# -*- coding=GBK -*-import cv2 as cvimport numpy as np#轮廓发现def contous_image(image): dst = cv.GaussianBlur(image, (3, 3), 0) gray = cv.cvtColor(dst, cv.COLOR_BGR2GRAY) ret, bina...原创 2018-03-19 21:35:43 · 3031 阅读 · 7 评论 -
python实现opencv学习二十一:图像的开闭操作
作用:删除图像的小的干扰项源代码如下:# -*- coding=GBK -*-import cv2 as cv#图像的开闭操作def open_image(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINAR...原创 2018-03-20 11:27:22 · 5592 阅读 · 0 评论 -
python实现opencv学习七:图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)
一:数值运算opencv自带图片色素的处理函数:相加:add()相减:subtract()相乘:multiply()相除:divide()原理就是:通过获取两张(一次只能是两张)个图片的同一个位置的色素值来实现运算。运算的要求:两张图片的shape要一样。例图:(若想用下面两张图可另存为图片,若保存的文件无后缀,添加后缀为.jpg即可)...原创 2018-03-14 17:26:18 · 4553 阅读 · 3 评论 -
python实现opencv学习二十二:分水岭分割算法
分水岭分割流程:图像->灰度->二值->距离变换->寻找种子->生成Marker->分水岭变换->输出具体代码如下:# -*- coding=GBK -*-import cv2 as cvimport numpy as np# 分水岭算法def water_image(): print(src.shape) blurred =...原创 2018-03-21 17:45:34 · 6623 阅读 · 1 评论 -
python实现opencv学习二十三:人脸检测
准备工作:找到分类器:方法:安装opencv软件包,或者把此文件放到根目录1.用pip安装的opencv不带分类器,所以要下载完整版的,可去官网下载安装,分类器位置在opencv\build\etc\haarcascades\haarcascade_frontalface_alt_tree.xml官网地址点这里2.或者直接下载此文件把它放到根目录就行:下载地址点这里(因为免费的下载比要积分的还麻烦...原创 2018-03-21 21:32:58 · 3251 阅读 · 4 评论 -
python实现opencv学习二十五:学习总结及博客说明
从3月9日到今天22日,整整两周的时间,看完了贾志刚老师的这套opencv的入门教程。从通道像素都不懂的小白,也明白了opencv到底是做什么用的。这套教程只能说是入门教程,教会怎么使用opencv,如果就为了工作而言其实这些已经足够应付了,如果想深究其原理或实现算法,教程涉及有点少,怕是讲了也一脸懵。所以,这贾志刚老师的套教程来说还是不错的。 对于整套学习博客,前期写的比较认真...原创 2018-04-03 21:56:41 · 2186 阅读 · 1 评论 -
python实现opencv学习十五:高斯金字塔和拉普拉斯金字塔
要求:拉普拉斯金字塔时,图像大小必须是2的n次方*2的n次方,不然会报错代码如下:# -*- coding=GBK -*-import cv2 as cv#高斯金字塔def pyramid_image(image): level = 3#金字塔的层数 temp = image.copy()#拷贝图像 pyramid_images = [] for i in...原创 2018-03-18 12:04:49 · 5863 阅读 · 0 评论 -
python实现opencv学习五:numpy操作数组输出图片
一:读取一张图片,修改颜色通道后输出 可以得到图像的:行数,列数,通道数的矩阵,对矩阵进行操作可改变图像像素# -*- coding=GBK -*-import cv2 as cvimport numpy as np#numpy数组操作def access_pixles(image): print(image.shape) height = im...原创 2018-03-12 14:36:13 · 18597 阅读 · 4 评论 -
python实现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-03-15 11:32:26 · 28894 阅读 · 3 评论 -
python实现opencv学习十:floodFill填充函数函数
指定颜色填充:代码如下:# -*- coding=GBK -*-import cv2 as cvimport numpy as np#指定颜色替换def fill_image(image): copyImage = image.copy()#复制原图像 h, w = image.shape[:2]#读取图像的宽和高 mask = np.zeros([h+2, w...原创 2018-03-15 18:07:33 · 20934 阅读 · 5 评论 -
python实现opencv学习一:安装、环境配置、工具
一:python的下载、安装、配置以python2.7.9为例http://blog.csdn.net/FUCAIHE/article/details/45353283若需其他最新版本请到官网下载:https://www.python.org/downloads/二:安装pip进入Python安装目录下的Scripts路径,执行easy_install.exe pip...原创 2018-03-09 20:51:58 · 154585 阅读 · 33 评论 -
python实现opencv学习十一:利用卷积对图像模糊处理
看了许多资料,在图像上个人觉得卷积就是:对于某一位置的像素,通过算法来把它附近的所有像素点的值联合起来,重新设置这个像素的大小。(大概就是这样)这个算法类似有:均值,中值,就是取周围所有像素的均值、中值来设置这个像素的大小。(关于边界问题:有几种填充方法:补零、边界复制、块复制、镜像复制等方法) 一:调用函数实现模糊测试代码如下# -*- coding=GBK -*-import cv2 as ...原创 2018-03-16 14:43:20 · 8279 阅读 · 4 评论 -
python实现opencv学习十二:图像直方图
一、安装matplotlib在cmd环境下,按照自己安装的python位置进入Scripts目录下,输入命令:pip install matplotlib二、 绘出图片的直方图代码如下:# -*- coding=GBK -*-import cv2 as cvfrom matplotlib import pyplot as plt#画出图像的直方图def hist_image(image...原创 2018-03-16 16:52:24 · 3499 阅读 · 4 评论 -
python实现opencv学习二:读取显示一张图片
读取一张图片 代码如下:import cv2 as cvsrc = cv.imread("C:\1.jpg")cv.namedWindow("1", 0)cv.imshow("dasiming",src)cv.waitKey(0)cv.destroyAllWindows()说明: 1.Mat imread(const String& filename,int fl...原创 2018-03-10 16:55:37 · 11313 阅读 · 1 评论 -
python实现opencv学习三:打印图片的属性,另存为图片
代码如下:# -*- coding=GBK -*-import cv2 as cvimport numpy as np#输出图片属性def get_image_info(image): #定义一个函数来输出图片的一些属性 print(type(image)) #显示图片类型 numpy类型的数组 #图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,...原创 2018-03-11 11:29:40 · 7084 阅读 · 2 评论 -
python实现opencv学习十三:模板匹配
模板匹配:通俗讲就是以图找图,通过图中的一部分来找它在图中的位置通过三种方式来匹配:cv.TM_SQDIFF_NORMED, cv.TM_CCORR_NORMED, cv.TM_CCOEFF_NORMED代码如下:# -*- coding=GBK -*-import cv2 as cvimport numpy as np#模版匹配def template_image(): tp...原创 2018-03-17 15:39:05 · 3828 阅读 · 1 评论 -
python实现opencv学习四:调用摄像头或打开视频文件
调用摄像头,代码如下:# -*- coding=GBK -*-import cv2 as cv#打开摄像头获取图片def video_demo(): capture = cv.VideoCapture(0)#打开摄像头,0代表的是设备id,如果有多个摄像头,可以设置其他数值 while True: ret, frame = capture.read(...原创 2018-03-11 15:28:24 · 7490 阅读 · 7 评论 -
python实现opencv学习十四:图像二值化
图像二值化:基于图像的直方图来实现的,0白色 1黑色一:全局# -*- coding=GBK -*-import cv2 as cvimport numpy as np#图像二值化 0白色 1黑色#全局阈值def threshold_image(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) cv.imshow...原创 2018-03-17 19:56:32 · 13906 阅读 · 4 评论 -
python实现opencv学习二十四:识别验证码
验证码识别前期准备:1.安装:tesseract-oc,直接安装就行,要配环境,下载地址点这里参考资料:点这里,再说一下,实测一定要配环境!!!2.安装pytesseract:pip installpytesseract3.之前pil,Pillow已经装过,如果没有安装PIL的:请看这里4.我的环境:python2.7&opencv3.4一般如果是按照我之前的博客来装的,应该没问题,如果...原创 2018-03-22 11:23:19 · 8021 阅读 · 10 评论