图像处理 OpenCV-Python教程翻译
冬日旭光
学到晕厥
展开
-
3-6 图像梯度—OpenCV-Python教程翻译
目标掌握获得图像梯度、边缘等的方法 掌握函数:cv2.Sobel(), cv2.Schar(), cv2.Laplacian()等理论OpenCV提供了三种梯度过滤器(高通过滤器)-Sobel、Scharr、Laplacian。下面将一一介绍他们。1、Sobel和Scharr导数Sobel运算结合了高斯平滑和微分运算,因此可以有效降低噪声干扰。求解梯度方法可以指定为水平方向或者...翻译 2018-08-20 22:57:24 · 493 阅读 · 0 评论 -
Canny边缘检测中滞后阈值的影响
在OpenCV教程的Canny边缘检测这一节的课后练习中,提出编写一个小应用研究滞后阈值对检测结果的影响,这里贴出我做的小应用。import numpy as npimport cv2 as cvdef nothing(x): pass# 读取图片,创建一个窗口img = cv.imread('image\lena512.bmp',0)cv.namedWindow('Can...原创 2018-08-22 19:45:48 · 6444 阅读 · 0 评论 -
3-5 形态学变换—OpenCV-Python教程翻译
目标掌握不同的形态学操作,例如图像腐蚀(erosion)、图像膨胀(dilation)、图像开运算(opening)和图像闭运算(closing)等 掌握几个函数:cv2.erode(), cv2.dilate(), cv2.morphologyEx()等理论形态学变换是一些基于图像形状而展开的简单操作,通常是对二值图进行操作。形态学变换需要两个输入,第一个输入是源图像,第二个输入称为...翻译 2018-08-08 21:18:12 · 440 阅读 · 0 评论 -
3-4 图像平滑—OpenCV-Python教程翻译
目标使用多种低通滤波器(low pass filters)模糊图像 学会使用自定义滤波器(2维卷积)2D卷积(图像滤波)和一维信号相似,图像可以使用多种低通滤波器(LPF)或者高通滤波器(HPF)等进行滤波处理。LPF可以除去噪声,模糊图像等,HPF则可以找到图像中的边缘。OpenCV提供了一个函数cv2.filter2D()实现图像和一个卷积核进行卷积运算。下面我们将对一副图像进...翻译 2018-08-02 20:49:07 · 344 阅读 · 0 评论 -
3-1 改变色度空间—OpenCV-Python教程翻译
目标在这一节中,将要学习如何将一张图像从一个色度空间变换到另一个,例如BGR-Gray,BGR-HSV等 将创建一个应用从一个视频中抽取一个有颜色的对象 掌握函数:cv2.cvtColor(), cv2.inRange()等变换色度空间在OpenCV中,提供了超过150种色度空间变换方法。但是这里我们将只学习两种最常用的变换,BGR-Gray和BGR-HSV。对于图像转换,我们使...翻译 2018-07-28 10:52:43 · 553 阅读 · 0 评论 -
3-3 图像阈值处理—OpenCV-Python教程翻译
目标学会使用简单的阈值处理,自适应阈值处理和Otsu阈值处理等 掌握函数: cv2.threshold, cv2.adaptiveThreshold等简单阈值处理首要要明确阈值处理是什么,其实可以很直白。如果像素值大于阈值,则将该像素值指定为一个值(或者白色),否则指定为另一个值(或者黑色)。使用函数cv2.threshold实现这个功能。retval, dst = cv2.thr...翻译 2018-07-31 20:19:21 · 704 阅读 · 0 评论 -
3-2 图像几何变换—OpenCV-Python教程翻译
目标掌握对图像进行不同的几何变换,例如平移、旋转和仿射变换等 掌握函数: cv2.getPerspectiveTransform等平移变换OpenCV提供两个平移函数cv2.warpAffine和cv2.warpPerspective,通过这两个函数可以实现所有的平移变换。cv2.warpAffine使用一个2×3阶变换矩阵,cv2.warpPerspective则使用一个3×3阶变换...翻译 2018-07-30 21:07:19 · 319 阅读 · 0 评论 -
2-2 图像算数操作—OpenCV-Python教程翻译
目标掌握几种图像算术操作,比如加、减、按位操作等 掌握函数cv2.add()、cv2.addWeighted()等图像相加图像相加可以通过OpenCV函数cv2.add()或者Numpy相加实现。需要注意的是OpenCV相加是饱和运算(即两个像素值之和大于255时取最大值255),Numpy相加是取模运算(即两个像素值之和大于255时取与255的余数)。>>> ...翻译 2018-07-22 08:53:51 · 362 阅读 · 0 评论 -
2-1 基本的图像操作——OpenCV-Python教程翻译
目标掌握获取像素值和改变像素值的方法 掌握获得图像属性的方法 掌握设置感兴趣区域(ROI)的方法 掌握分割和融合图像的方法本节几乎所有的操作都将与Numpy库息息相关,因此深入学习Numpy库将有助于优化OpenCV的代码。所有代码案例将使用Python terminal来运行。获取和修改像素值首先要读取一张照片。>>> import numpy a...翻译 2018-07-21 18:49:49 · 275 阅读 · 0 评论 -
1-1 有关图片的操作——OpenCV-Python教程翻译
目标学会如何读取一张图像,如何展示和如何保存 学会使用函数:cv2.imread(),cv2.imshow(),cv2.imwrite() 学会如何使用Matplotlib展示图像使用OpenCV读取图片使用函数cv2.imread()读取一张图片。图片必须在工作文件夹里或者给定完整的绝对路径。retval = cv2.imread(filename[, flags])其...翻译 2018-07-16 19:47:14 · 223 阅读 · 0 评论 -
0-1 OpenCV-Python教程介绍——OpenCV-Python教程翻译
OpenCVOpenCV最先是由Gary Bradsky在1999年于Intel开发的,在2000年出现了最早的发行版。后来,Vadim Pisarevsky加入了Gary Bradsky,一同管理Intel的俄罗斯软件OpenCV团队。在2005年,OpenCV被用在开发Stanley上,这辆汽车赢得了2005年的DARPA Grand挑战赛。随后,有很多大牛支持这个开源库的开发。现在,Op...翻译 2018-07-15 22:45:20 · 267 阅读 · 0 评论 -
1-5 色彩板跟踪条——OpenCV-Python教程翻译
目标掌握在OpenCV窗口中插入跟踪条 掌握函数:cv2.getTrackbarPos()和cv2.createTrackbar()等案例项目下面我们将建立一个简单的应用来显示指定的颜色。这里将使用一个窗口显示颜色,三个跟踪条指定每一个BGR通道颜色。当滑动追踪条时,窗口的颜色相应改变。默认的初始颜色设定为黑色。函数cv2.createTrackbar( trackbarname,...翻译 2018-07-19 20:01:41 · 230 阅读 · 0 评论 -
2-3 性能测试和提升技术—OpenCV-Python教程翻译
目标在图像处理中,因为我们需要每秒中进行大量的算术运算,因此必须在保证代码在可以提供正确结果的同时采用速度更快的方法。因此这一节中,我们需要掌握:测试代码性能 提示代码性能的一些小技巧 掌握函数cv2.getTickCount, cv2.getTickFrequency等除了OpenCV外,python还提供了一个time模块用于测量程序执行时间。另一个模块profile用于获取详细...翻译 2018-07-24 20:38:05 · 280 阅读 · 0 评论 -
1-4 使用鼠标绘画-OpenCV-Python教程翻译
目标掌握在OpenCv中处理鼠标事件 掌握函数cv2.setMouseCallback()简单项目这个项目将创建一个简单的应用实现在一张图片上任意位置双击鼠标后画出一个圆形。首先,需要创建一个当鼠标事件发生时会执行的鼠标回调函数。鼠标事件可以是单击左键、双击左键等。每个鼠标事件将传递给我们一个坐标(x,y)。有个了这个事件和坐标,我们可以实现任何我们想要实现的功能。运行下面的代码可...翻译 2018-07-18 20:06:45 · 399 阅读 · 0 评论 -
1-3 OpenCV的绘图函数-OpenCV-Python教程翻译
目标掌握使用OpenCV绘制不同的几何形状 掌握如下函数:cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText()等代码在上面提到的这些函数中,会出现如下一些共同的输入参数:img:想要在它上面绘画形状的图片 color:形状的颜色。对于BGR格式,使用元组来传递,比如(255,0,0)是蓝色。...翻译 2018-07-17 23:54:15 · 740 阅读 · 2 评论 -
1-2 有关视频的操作——OpenCV-Python教程翻译
目标掌握读取视频,显示视频和保存视频 掌握使用摄像头捕获视频并显示视频 掌握这些函数:cv2.VideoCapture()和cv2.VideoWriter()使用摄像头捕捉视频我们经常需要使用摄像头来捕捉一些实时场景。OpenCV则提供了一个非常简单的接口。下面将展示一个案例,实现使用摄像头捕捉视频,并转换为灰度图像显示。需要创建一个VideoCapture对象来实现捕捉视频。它...翻译 2018-07-17 19:55:59 · 393 阅读 · 0 评论 -
3-8 图像金字塔—OpenCV-Python教程翻译
目标学习图像金字塔相关内容 使用图像金字塔创造一种新水果,“Orapple” 掌握函数:cv2.pyrUp(),cv2.pyrDown()理论通常情况下,我们都会处理尺寸大小不变的图像。但是在某些场合中,我们需要在不同分辨率的条件下处理同一个图像。例如,在一副图像中搜寻某一个对象,比如人脸,我们并不清楚在图像中这个对象的尺寸有多大。因此,我们需要创建一系列不同分辨率的同一图像,在这些...翻译 2018-08-23 22:16:29 · 394 阅读 · 1 评论