自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 opencv for python (19) 根据矩进行形状匹配

函数 cv2.matchShape() 可以帮我们比较两个形状或轮廓的相似度。如果返回值越小,匹配越好。它是根据 Hu 矩来计算的。Hu 矩是归一化中心矩的线性组合,之所以这样做是为了能够获取代表图像的某个特征的矩函数,这些矩函数对某些变化如缩放,旋转,镜像映射具有不变形。import cv2import numpy as npimg1 = cv2.imread('t1_re.png...

2018-03-05 15:54:24 4012 1

翻译 opencv for python (18) 边界矩形、最小外接圆、椭圆拟合、直线拟合

函数cv2.boundingRect返回四个参数(x,y)为矩形左上角的坐标,(w,h)是矩形的宽和高。 函数cv2.rectangle是绘制矩形函数 函数cv2.minAreaRect返回的是一个 Box2D 结构,其中包含 矩形左上角角点的坐标(x,y),矩形的宽和高(w,h),以及旋转角度。但是要绘制这个矩形需要矩形的 4 个角点,可以通过函数 cv2.boxPoints() 获得,最后

2018-01-25 16:56:43 15222

翻译 opencv for python (17) 绘制轮廓、轮廓特征

函数 cv2.findContours() 有三个参数,第一个是输入图像,第二个是轮廓检索模式,第三个是轮廓近似方法。返回值有两个,第一个是图像,第二个是轮廓,第三个是(轮廓的)层析结构。轮廓(第一个返回值)是一个 Python列表,其中存储这图像中的所有轮廓。每一个轮廓都是一个 Numpy 数组,包含对象边界点(x,y)的坐标。 函数 cv2.drawContours() 可以被用来绘制轮廓。它

2018-01-24 22:47:24 5388

翻译 opencv for python (16)canny边缘检测原理及用滑动条设置阈值进行canny边缘检测

Canny边缘检测原理及步骤 1.噪声去除 由于边缘检测很容易受到噪声影响,所以第一步是使用 5x5 的高斯滤波器去除噪声。 2.计算图像梯度 对平滑后的图像使用 Sobel 算子计算水平方向和竖直方向的一阶导数(图像梯度)(Gx 和 Gy)。根据得到的这两幅梯度图(Gx 和 Gy)找到边界的梯度和方向。 3.非极大值抑制 在获得梯度的方向和大小之后,应该对整幅图像做一个扫

2018-01-22 15:26:19 2862 2

翻译 opencv for python (15) 图像梯度(Sobel算子、scharr算子与laplacian算子原理及卷积模板)

Sobel算子、scharr算子与laplacian算子Sobel算子是一阶导数的边缘检测算子,在算法实现过程中,通过3×3模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。 采用3×3邻域可以避免在像素之间内插点上计算梯度。Sobel算子也是一种梯度幅值,即: 其中的偏导数Sx 和Sy可用卷积模板来实现。Sx=(Z1+2Z2+Z3)-(Z7+2Z8+Z9)

2018-01-20 11:15:32 7244

翻译 opencv for python (14) 形态学转换(图像腐蚀、图像膨胀、开运算、闭运算、形态学梯度、礼帽、黑帽)

图像腐蚀 对Z中的集合A和B,B对A进行腐蚀的整个过程如下: 1. 用结构元素B,扫描图像A的每一个像素 2. 用结构元素与其覆盖的二值图像做 “与”操作 3. 如果都为1,结果图像的该像素为1. 否则为0 腐蚀处理的结果是使原来的二值图像减小一圈 函数cv2.erode(img,kernel,iterations = 1) 第一个参数源图像

2018-01-18 17:44:59 2070

翻译 opencv for python (13) 图像卷积及图像平滑(平均、高斯模糊、中值模糊、双边滤波)

图像卷积卷积函数 cv2.filter2D(img,-1,kernel) 第一个参数是原图像 第二个参数目标图像的所需深度。如果是负数,则与原图像深度相同 第三个参数是卷积内核import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('nine.jpg')

2018-01-18 16:20:32 2617

翻译 opencv for python (12) Otsu's二值化原理及代码总结

Otsu’s非常适合于图像灰度直方图具有双峰的情况,他会在双峰之间找到一个值作为阈值 ret2,th2 = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) 会将大津法得到的阈值,做为第一个参数 函数plt.hist(images[i*3].ravel(),256) 是绘制图像直方图,ravel是将图像的多维数组降维,变

2018-01-18 11:37:29 3162 3

翻译 opencv for python (11) 图像阈值 及自适应阈值

函数cv2.threshold(img,127,255,cv2.THRESH_BINARY) 函数中四个参数分别是原图像、阈值、最大值、阈值类型 阈值类型一般分为五种: cv2.THRESH_BINARY——大于阈值的部分像素值变为最大值,其他变为0 cv2.THRESH_BINARY_INV——大于阈值的部分变为0,其他部分变为最大值 cv2.THRESH_TRU

2018-01-18 10:07:57 5438

翻译 opencv for python (10) 图像旋转函数+仿射变换函数+透视变换

函数 cv2.getRotationMatrix2D((cols/2,rows/2),45,0.6) 第一个参数——原图像旋转中心 第二个参数——以度为单位的旋转角度。正值表示逆时针旋转 第三个参数—— 各向同性的比例因子。 函数输出——仿射变换,2x3浮点矩阵 函数cv2.warpAffine(img,M,(2*cols,2*rows)) 第一个参数——原图像 第二个参数——2x3仿

2017-12-13 10:27:32 6145

翻译 opencv for python (9) 图片的扩展和缩放 批量处理图片

import cv2 import numpy as np img = cv2.imread('test.jpg')res = cv2.resize(img,None,fx = 2,fy = 2,interpolation = cv2.INTER_CUBIC)while(1): cv2.imshow('res',res) cv2.imshow('img',img

2017-11-30 23:22:18 1534

翻译 opencv for python(8) 利用颜色空间转换进行物体跟踪

从视频中获取每一帧图像 将图像转换到HSV空间 设置HSV阈值到蓝色区域import cv2 import numpy as np cap = cv2.VideoCapture(0)while (1): ret,frame = cap.read() hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV) lower_blue

2017-11-30 21:44:18 444

翻译 opencv for python (7) 计算中值滤波函数程序的运行时间,及简要解释中值滤波函数

cv2.getTickCount()函数返回从参考点到这个函数被执行的时钟数。所以当你在一个函数执行前后都调用它的话,你就会的到这个函数的执行时间(时钟数)。 cv2.getTickFrequency()返回时钟频率,或者说每秒的时钟数。 img1 = cv2.medianBlur(img1,i)中值滤波,第一个参数是待处理图像,第二个参数是孔径的尺寸,一个大于1的奇数。比如这里

2017-11-29 21:37:12 880

翻译 opencv for python (6) 改变一幅图的特定区域 (往一幅图片上加标志)

想把oencv的标志放在另一幅图像上,如果使用加法,亚瑟会改变,如果使用混合,会得到透明效果,但是我不行要透明,这时就可以运用按位运算来实现。import cv2 import numpy as np img1 = cv2.imread('opencv.jpg') #原始图像img2 = cv2.imread('logo.png') #logo图像,要往原始图像上添加rows,cols,c

2017-11-28 23:26:30 9318

翻译 opencv for pyhton (5) 用滑动条做调色板

程序功能: 通过调节滑动条来设定画板的颜色,我们要创建一个窗口来显示颜色,还有三个滑动条来设置BGR的颜色,当我们滑动滚动条时窗口的颜色也会发生相应的变化 cv2.createTrackbar(‘G’,’image’,0,255,nothing)函数第一个参数是滑动条的名字,第二个参数是滑动条被放置窗口的名字,,第三个参数是滑动条的默认位置,第四个参数是滑动条的最大值,第五个参数

2017-11-25 21:41:15 288

翻译 opencv for pyhthon (4) 把鼠标当画笔

功能:在鼠标点击的位置画一个圆import cv2 import numpy as np def draw_circle(event,x,y,flag,param): if event == cv2.EVENT_LBUTTONDBLCLK: #处理鼠标左键双击 cv2.circle(img,(x,y),100,(255,0,0),-1)#画一个圆img = np.zeros

2017-11-25 20:53:32 293

翻译 opencv for python(3) 用opencv作图,直线,圆,填充字

import numpy as npimport cv2img = np.zeros((512,512,3),np.uint8)#画一条线,参数为图片,起点,终点,颜色,线条类型cv2.line(img,(0,0),(512,512),(255,0,0),5)#画矩形,参数为图片,左上角顶点,右下角顶点,颜色,线条类型cv2.rectangle(img,(384,0),(510,128),(

2017-11-21 23:28:35 2194

翻译 opencv for python (2) 视频的读入、输出、保存

cap.read() 返回值ret是布尔值,True表示视频读取成功,否则反之。frame是返回的一帧一帧的视频cap.get()和cap.set()分别用来得到和设置视频的属性CV_CAP_PROP_POS_MSEC视频文件的当前位置,以毫秒为单位。CV_CAP_PROP_POS_AVI_RATIO视频文件的相对位置:0 - 电影开始,1 - 电影结束。CV_CAP_PROP_F

2017-11-21 22:40:52 906

翻译 opencv for python (1) 图像读取、显示、保存

opencv for python

2017-11-20 17:11:33 651

空空如也

空空如也

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

TA关注的人

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