
Python3+opencv 笔记
记录自己学习opencv (python) 的笔记
子永
这个作者很懒,什么都没留下…
展开
-
CCPD数据集 不限速 夸克云盘下载 车牌数据集 40G
车牌识别数据集 夸克云盘 CCPD2019原创 2022-09-25 10:40:04 · 8670 阅读 · 1 评论 -
【opencv学习笔记 30验证码的识别】
验证码的识别import cv2 as cvimport numpy as npfrom PIL import Imageimport pytesseract as tessdef recognize_text(): gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) ret, binary = cv.threshold(gray, ...原创 2020-04-15 15:39:26 · 296 阅读 · 0 评论 -
【opencv学习笔记 28分水岭算法】
分水岭算法距离变换import cv2 as cvimport numpy as npdef watershed_demo(): """ 前期的处理需要做好 :return: """ # remove noise if any print(src.shape) blurred = cv.pyrMeanShiftFilterin...原创 2020-04-15 14:16:08 · 222 阅读 · 0 评论 -
【opencv学习笔记 27 顶帽 黑帽 形态学梯度】
顶帽 tophat原图像与开操作之间的差值图像黑帽blackhat原图像与闭操作之间的差值图像形态学梯度内部梯度原图像减去腐蚀之后的图像得到的差值图像外部梯度图像膨胀之后再减去原来图像得到的差值图像相关代码顶帽操作import cv2 as cvdef top_hat_demo(image): gray = cv.cvtColor(image, cv.COL...原创 2020-04-15 10:55:01 · 283 阅读 · 0 评论 -
【opencv学习笔记 26开闭操作】 去噪点 去除水平线 去除竖直线
开闭操作开操作图像形态学的重要操作之一,基于膨胀和腐蚀(背景黑色,前景白色)操作组合形成的。主要是应用在二值图像的分析中,灰度图像也可以开操作=先腐蚀+再膨胀作用:消除图像中的小的干扰区域 去除噪点闭操作闭操作=先膨胀 +再腐蚀作用:填充小的封闭区域-----------提取水平或者垂直线------------相关代码import cv2 as cvdef open_...原创 2020-04-15 10:13:47 · 4550 阅读 · 0 评论 -
【opencv学习笔记 25 膨胀与腐蚀】
膨胀与腐蚀图像形态学是图像处理学科的一个单独分支学科灰度与二值图像处理中重要手段是由数学的集合论等相关理论发展起来的膨胀支持任意形状的结构元素作用:对象的大小增加了一个像素平滑了对象的边缘减小或者填充对象之间的距离腐蚀用最小值替换中心像素相关代码import cv2 as cvimport numpy as npdef erode_demo(image)...原创 2020-04-14 20:43:00 · 209 阅读 · 0 评论 -
【opencv学习笔记 24对象测量】
对象测量弧长与面积轮廓发现多边形发现approxPloyDP()几何矩的计算可以用来进行数字的边界查找,进行区域的划分相关代码import cv2 as cvimport numpy as npdef measure_object(image): # 灰度化 gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) #...原创 2020-04-14 16:03:18 · 195 阅读 · 0 评论 -
【opencv学习笔记 23轮廓发现】
轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法。所以边缘提取阈值的选定会影响最终轮廓发现的结果。利用梯度来避免阈值的烦恼相关代码import cv2 as cvdef edge_demo(image): """ 边缘处理 :param image: :return: """ blurred = cv.GaussianBlur(ima...原创 2020-04-14 14:36:02 · 211 阅读 · 0 评论 -
【opencv学习笔记 22 圆检测】
圆检测使用霍夫圆检测的时候需要注意的是 霍夫圆检测对噪声特别敏感,需要对图像进行降噪处理。有时候出错可以是因为处理过度或者没有处理造成,我们可以通过显示处理之后的图像检查出错点。相关代码import cv2 as cvimport numpy as npdef detect_circles_demo(image): # 边缘保留滤波 dst = cv.pyrMeanS...原创 2020-04-14 11:25:03 · 425 阅读 · 0 评论 -
【opencv学习笔记 21 直线检测】
直线检测霍夫直线变换百度百科前提条件:边缘检测已经完成平面空间→极坐标相关代码import cv2 as cvimport numpy as npdef line_detection(image): """ 自己写 :param image: :return: """ gray = cv.cvtColor(image, cv.CO...原创 2020-04-14 10:51:53 · 272 阅读 · 0 评论 -
【opencv学习笔记 20 Canny边缘提取】
Canny边缘提取入门级必备!!!高斯模糊灰度转换计算梯度非最大梯度抑制高低阈值输入二值化图像相关代码import cv2 as cvimport numpy as npdef edge_demo(image): # 高斯模糊 blurred = cv.GaussianBlur(image, (3, 3), 0) # 灰度化 gray =...原创 2020-04-14 09:58:01 · 233 阅读 · 0 评论 -
【opencv学习笔记 19 图像的梯度】
图像的梯度一阶导数二阶导数 —拉普拉斯算子系数和为0一阶导数import cv2 as cvimport numpy as npdef sobel_demo(image): # grad_x = cv.Scharr(image, cv.CV_32F, 1, 0) grad_y = cv.Scharr(image, cv.CV_32F, 0, 1) ...原创 2020-04-13 16:59:11 · 192 阅读 · 0 评论 -
【opencv学习笔记 18图像金字塔】
图像金字塔图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。百度百科reduce= 高斯模糊+降采样expand= 扩大+卷积相关代码im...原创 2020-04-13 16:27:57 · 198 阅读 · 0 评论 -
【opencv学习笔记 16图像二值化】代码详细注释
图像二值化二值图像:只有黑和白0 代表黑色1 其实是255 代表白色图像二值化的方法全局阈值局部阈值OTSUTriangle手动与自动自适应阈值相关代码import cv2 as cvimport numpy as npdef threshold_demo(image): """ 全局阈值 :param image: :retur...原创 2020-04-13 10:54:05 · 335 阅读 · 0 评论 -
【opencv学习笔记 15模板匹配】
模板匹配模板匹配是模式识别中最简单的一种识别方法。对特定的场合比较有用,对随机的场合效率低。在一整个大部分中寻找特定的小部分相关代码import cv2 as cvimport numpy as npdef template_demo(): # 输入模板图像 tpl = cv.imread("image5.1.jpg") # 输入目标图像 targ...原创 2020-04-13 10:08:29 · 257 阅读 · 0 评论 -
【opencv学习笔记 14 直方图的反向投影】calcBackProject()函数的使用
直方图的反向投影"""直方图的反向投影我的理解就是给一个sample 然后获取它的图像直方图 然后使用这个直方图在target里面寻找相似的特征"""import cv2 as cvfrom matplotlib import pyplot as pltdef back_projection_demo(): # 读取图片 sample = cv.imread("i...原创 2020-04-11 11:22:32 · 441 阅读 · 0 评论 -
【opencv学习笔记 13 图像均衡化与相关性的比较】
图像均衡化与相关性的比较"""图像均衡化与相关性的比较"""import cv2 as cvimport numpy as npdef equalHist_demo(image): """ 均衡化 :param image: :return: """ # 均衡化必须处理的是灰度图像 gray = cv.cvtColor(ima...原创 2020-04-07 17:13:19 · 402 阅读 · 0 评论 -
【opencv学习笔记 12图像直方图】calcHist()函数
图像直方图"""图像的直方图,用来观察图像的主要特征颜色"""import cv2 as cvfrom matplotlib import pyplot as pltdef plot_demo(image): # ravel 函数将多维数组转换为一维数组 plt.hist(image.ravel(), 256, range=[0, 256]) # 下面的函数...原创 2020-04-07 16:29:07 · 905 阅读 · 0 评论 -
【opencv学习笔记 11 边缘保留滤波】bilateralFilter()和pyrMeanShiftFiltering()
边缘保留滤波"""边缘保留滤波"""import cv2 as cvdef bi_demo(image): """ 高斯双边模糊 :param image: :return: """ # 函数参数 bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=N...原创 2020-04-07 13:51:27 · 507 阅读 · 0 评论 -
【opencv学习笔记 10 高斯模糊】GaussianBlur()
高斯模糊高斯模糊百度百科链接import cv2 as cvimport numpy as npdef clamp(pv): if pv > 255: return 255 if pv < 0: return 0 else: return pvdef gaussian_noise(image):...原创 2020-04-07 13:21:00 · 618 阅读 · 0 评论 -
【opencv学习笔记 09 图像模糊操作】均值模糊、中值模糊、自定义模糊
图像模糊操作均值模糊—适用于去随机噪声中值模糊 —适用于去除椒盐噪点自定义模糊 —适用于图像增强,锐化等"""模糊操作--中值模糊--均值模糊--自定义模糊"""import cv2import numpy as npimg = cv2.imread('img.jpg')cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)cv...原创 2020-04-06 21:50:17 · 430 阅读 · 0 评论 -
【opencv学习笔记 08.2 泛洪填充】flags=cv2.FLOODFILL_FIXED_RANGE 参数的意思
泛洪填充彩色图像填充"""泛洪填充"""import cv2import numpy as npimg = cv2.imread('img.jpg')cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)cv2.imshow('Image', img)# 使用的截断,获取shape的前两个属性w, h = img.shape[0:2]#...原创 2020-04-06 20:48:39 · 582 阅读 · 0 评论 -
【opencv 学习笔记 08.1 ROI操作】
笔记代码"""ROI 感兴趣区域"""import cv2import numpy as npimg = cv2.imread('img.jpg')cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)cv2.imshow('Image', img)cut = img[20:200, 20:200]img_copy = img.copy()...原创 2020-04-06 17:03:02 · 182 阅读 · 0 评论 -
【opencv 学习笔记 07 addweighted() 函数】
addweighted()import cv2import numpy as npimg = cv2.imread('img.jpg')cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)cv2.imshow('Image', img)# 生成一个黑色的图像 大小和类型与源图像一样img1 = np.zeros(img.shape, dtype...原创 2020-04-06 15:00:40 · 516 阅读 · 0 评论 -
【opencv 笔记 06 图像的加减 add() 和subtract()】
图像的加减"""图像的加减运算需要注意,图像的大小和格式类型需要一样"""import cv2img1 = cv2.imread('image6.1.jpg')img2 = cv2.imread('image6.2.jpg')cv2.namedWindow('Image1', cv2.WINDOW_AUTOSIZE)cv2.imshow('Image1', img1)cv2....原创 2020-04-06 11:45:59 · 1648 阅读 · 0 评论 -
【05 HSV 范围与 inrange函数】
HSV范围H 0-180S:0-255V 0-255HSV色彩空间范围百 度 文 库 链 接inRange函数import cv2import numpy as npimg = cv2.imread('image5.jpg')cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)cv2.imshow('Image', img)# 圈...原创 2020-04-06 10:47:17 · 634 阅读 · 0 评论 -
【04 opencv 色彩空间的转换 函数cvtColor的使用】
常见的色彩空间色彩空间百度百科RGBHSVcvtColor()的使用import cv2img = cv2.imread('img.jpg')cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)cv2.imshow('Image', img)# 转灰度图像img_gray = cv2.cvtColor(img, cv2.COLOR_B...原创 2020-04-05 22:14:30 · 207 阅读 · 0 评论 -
【03.1图像位运算 和程序运行时间获取 + pycharm格式化代码】
图像颜色的位操作import cv2img = cv2.imread('main.png')cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)cv2.imshow('Image', img)# 图像像素按位取反img1 = cv2.bitwise_not(img)cv2.imshow('bitwise_not', img1)# 原图与取反后...原创 2020-04-03 11:38:42 · 268 阅读 · 0 评论 -
03 numpy入门简介
numpy入门简介什么是numpyNumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多numpy生成简单的数组import numpy as npa = np.array([1,2,3])b = a + 1 # 直接将数组中的每个元素都加1print('a=',...转载 2020-04-02 20:17:17 · 192 阅读 · 0 评论 -
02 图像的读取与存储
什么是图像图像在计算机中图像就是结构化的数据信息。图像的属性通道数目高与宽像素数据图像类型获取图像的属性import cv2# 读入图片img = cv2.imread('image.png')# 创建窗口cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)# 展示图片cv2.imshow('Image', img)# 打印...原创 2020-04-01 22:51:57 · 534 阅读 · 0 评论 -
01 opencv 概述与环境搭建
什么是opencvOpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库。详细信息可查看百度百科opencv百度百科环境整个笔记过程基于pycharm +python3配置python环境python官方网址下载好之后直接安装即可。安装opencv环境这一步需要在完成python的安装之后进行命令行打开并输入pip install opencv-python这...原创 2020-04-01 14:38:19 · 315 阅读 · 0 评论