机器学习进阶-目标跟踪-KCF目标跟踪方法 1.cv2.multiTracker_create(构造选框集合) 2. cv2.TrackerKCF_create(获得KCF追踪器) 3. cv2.resize(变化图像大小) 4.cv2.selectROI(在图像上框出选框)
摘要:1. tracker = cv2.multiTracker_create() 获得追踪的初始化结果 2.cv2.TrackerKCF_create() 获得KCF追踪器 3.cv2.resize(frame, (w, h), cv2.INTER_AEAR) # 进行图像大小的重新变化参数说明:fra
阅读全文
posted @
2019-02-28 18:32
python我的最爱
阅读(3823)
推荐(0) 编辑
机器学习进阶-光流估计 1.cv2.goodFeaturesToTrack(找出光流估计所需要的角点) 2.cv2.calcOpticalFlowPyrLK(获得光流检测后的角点位置) 3.cv2.add(进行像素点的加和)
摘要:1.cv2.goodFeaturesToTrack(old_gray, mask=None, **feature_params) 用于获得光流估计所需要的角点参数说明:old_gray表示输入图片,mask表示掩模,feature_params:maxCorners=100角点的最大个数,quali
阅读全文
posted @
2019-02-28 00:07
python我的最爱
阅读(7337)
推荐(1) 编辑
机器学习进阶-背景建模-(帧差法与混合高斯模型) 1.cv2.VideoCapture(进行视频读取) 2.cv2.getStructureElement(构造形态学的卷积) 3.cv2.createBackgroundSubtractorMOG2(构造高斯混合模型) 4.cv2.morpholyEx(对图像进行形态学的变化)
摘要:1. cv2.VideoCapture('test.avi') 进行视频读取 参数说明:‘test.avi’ 输入视频的地址2. cv2.getStructureElement(cv2.MORPH_ELLIPSE, (3, 3)) # 构造一个全是1的kernel用于形态学的操作 参数说明:cv2.
阅读全文
posted @
2019-02-26 22:58
python我的最爱
阅读(9945)
推荐(0) 编辑
机器学习进阶-案例实战-停车场车位识别-keras预测是否停车站有车
摘要:import numpy import os from keras import applications from keras.preprocessing.image import ImageDataGenerator from keras import optimizers from keras.models import Sequential, Model from keras.laye...
阅读全文
posted @
2019-02-26 10:38
python我的最爱
阅读(931)
推荐(0) 编辑
机器学习进阶-案例实战-停车场车位识别
摘要:第一步:去除背景 第二步:进行灰度化 第三步:使用cv2.canny进行边缘检测 第四步:进行图像区域的选择 第五步:使用霍夫曼进行直线检测 第六步:对删选出的直线进行画图操作 第七步:找出每一列车的x1, y1, x2, y2 第八步:根据gap间隔,找出每一列车所在的(x1, y1, x2, y
阅读全文
posted @
2019-02-26 10:37
python我的最爱
阅读(2975)
推荐(0) 编辑
机器学习进阶-案例实战-图像全景拼接-图像全景拼接(RANSCA) 1.sift.detectAndComputer(获得sift图像关键点) 2.cv2.findHomography(计算单应性矩阵H) 3.cv2.warpPerspective(获得单应性变化后的图像) 4.cv2.line(对关键点位置进行连线画图)
摘要:1. sift.detectAndComputer(gray, None) # 计算出图像的关键点和sift特征向量 参数说明:gray表示输入的图片 2.cv2.findHomography(kpA, kpB, cv2.RANSAC, reproThresh) # 计算出单应性矩阵 参数说明:kp
阅读全文
posted @
2019-02-23 13:40
python我的最爱
阅读(2805)
推荐(0) 编辑
机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接 1.cv2.drawMatches(对两个图像的关键点进行连线操作)
摘要:1.cv2.drawMatches(imageA, kpsA, imageB, kpsB, matches[:10], None, flags=2) # 对两个图像关键点进行连线操作 参数说明:imageA和imageB表示图片,kpsA和kpsB表示关键点, matches表示进过cv2.BFMa
阅读全文
posted @
2019-02-23 11:54
python我的最爱
阅读(8211)
推荐(0) 编辑
机器学习进阶-图像特征sift-SIFT特征点 1.cv2.xfeatures2d.SIFT_create(实例化sift) 2. sift.detect(找出关键点) 3.cv2.drawKeypoints(画出关键点) 4.sift.compute(根据关键点计算sift向量)
摘要:1. sift = cv2.xfeatures2d.SIFT_create() 实例化 参数说明:sift为实例化的sift函数 2. kp = sift.detect(gray, None) 找出图像中的关键点 参数说明: kp表示生成的关键点,gray表示输入的灰度图, 3. ret = cv2
阅读全文
posted @
2019-02-21 17:39
python我的最爱
阅读(22034)
推荐(3) 编辑
机器学习进阶-图像特征harris-角点检测 1.cv2.cornerHarris(进行角点检测)
摘要:1.cv2.cornerHarris(gray, 2, 3, 0.04) # 找出图像中的角点 参数说明:gray表示输入的灰度图,2表示进行角点移动的卷积框,3表示后续进行梯度计算的sobel算子的大小,0.04表示角点响应R值的α值 角点检测:主要是检测一些边角突出来的点,对于A和B这样的面上的
阅读全文
posted @
2019-02-21 11:19
python我的最爱
阅读(3557)
推荐(1) 编辑
机器学习进阶-直方图与傅里叶变换-傅里叶变换(高低通滤波) 1.cv2.dft(进行傅里叶变化) 2.np.fft.fftshift(将低频移动到图像的中心) 3.cv2.magnitude(计算矩阵的加和平方根) 4.np.fft.ifftshift(将低频和高频移动到原来位置) 5.cv2.idft(傅里叶逆变换)
摘要:1. cv2.dft(img, cv2.DFT_COMPLEX_OUTPUT) 进行傅里叶变化 参数说明: img表示输入的图片, cv2.DFT_COMPLEX_OUTPUT表示进行傅里叶变化的方法 2. np.fft.fftshift(img) 将图像中的低频部分移动到图像的中心 参数说明:im
阅读全文
posted @
2019-02-20 13:33
python我的最爱
阅读(14971)
推荐(1) 编辑
机器学习进阶-直方图与傅里叶变化-直方图均衡化 1.cv2.equalizeHist(进行直方图均衡化) 2. cv2.createCLAHA(用于生成自适应均衡化图像)
摘要:1. cv2.equalizeHist(img) # 表示进行直方图均衡化 参数说明:img表示输入的图片 2.cv2.createCLAHA(clipLimit=8.0, titleGridSize=(8, 8)) 用于生成自适应均衡化图像 参数说明:clipLimit颜色对比度的阈值, titl
阅读全文
posted @
2019-02-20 12:14
python我的最爱
阅读(19108)
推荐(2) 编辑
机器学习进阶-直方图与傅里叶变换-图像直方图 1.cv2.calc(生成图像的像素频数分布(直方图))
摘要:1. cv2.calc([img], [0], mask, [256], [0, 256]) # 用于生成图像的频数直方图 参数说明: [img]表示输入的图片, [0]表示第几个通道, mask表示掩码,通常生成一部分白色,一部分黑色的掩码图, [256]表示直方图的个数, [0, 256]表示数
阅读全文
posted @
2019-02-20 11:18
python我的最爱
阅读(4540)
推荐(0) 编辑
机器学习进阶-图像金字塔与轮廓检测-模板匹配(单目标匹配和多目标匹配)1.cv2.matchTemplate(进行模板匹配) 2.cv2.minMaxLoc(找出矩阵最大值和最小值的位置(x,y)) 3.cv2.rectangle(在图像上画矩形)
摘要:1. cv2.matchTemplate(src, template, method) # 用于进行模板匹配 参数说明: src目标图像, template模板,method使用什么指标做模板的匹配度指标 2. min_val, max_val, min_loc, max_loc = cv2.min
阅读全文
posted @
2019-02-19 20:26
python我的最爱
阅读(16944)
推荐(1) 编辑
机器学习进阶-图像金字塔与轮廓检测-图像金字塔(拉普拉斯金字塔)
摘要:拉普拉斯金字塔: 使用原始图片 - pyrUp(pyrDown(Gi)), 获得的结果有一点像边缘轮廓的提取 上图的意思:1.进行低通滤波 2.进行样本的下采样 3. 进行样本的上采样 4.原始图片 - 经过上面三步后的图片 代码: 第一步:读入图片 第二步:进行样本的下采样 第三步:进行样本的上采
阅读全文
posted @
2019-02-19 15:39
python我的最爱
阅读(947)
推荐(0) 编辑
机器学习进阶-图像金字塔与轮廓检测-图像金字塔-(**高斯金字塔) 1.cv2.pyrDown(对图片做向下采样) 2.cv2.pyrUp(对图片做向上采样)
摘要:1.cv2.pyrDown(src) 对图片做向下采样操作,通常也可以做模糊化处理 参数说明:src表示输入的图片 2.cv2.pyrUp(src) 对图片做向上采样操作 参数说明:src表示输入的图片 高斯金字塔:分为两种情况:一种是向下采样,一种是向上采样 下采样的原理:先与Gi进行高斯卷积即高
阅读全文
posted @
2019-02-19 15:12
python我的最爱
阅读(2110)
推荐(0) 编辑
机器学习进阶-边缘检测-Canny边缘检测 1.cv2.Canny(进行Canny边缘检测)
摘要:1. cv2.Canny(src, thresh1, thresh2) 进行canny边缘检测 参数说明: src表示输入的图片, thresh1表示最小阈值,thresh2表示最大阈值,用于进一步删选边缘信息 Canny边缘检测步骤: 第一步:使用高斯滤波器进行滤波,去除噪音点 第二步:使用sob
阅读全文
posted @
2019-02-18 19:48
python我的最爱
阅读(24607)
推荐(0) 编辑
机器学习进阶-图像梯度计算-scharr算子与laplacian算子(拉普拉斯) 1.cv2.Scharr(使用scharr算子进行计算) 2.cv2.laplician(使用拉普拉斯算子进行计算)
摘要:1. cv2.Scharr(src,ddepth, dx, dy), 使用Scharr算子进行计算 参数说明:src表示输入的图片,ddepth表示图片的深度,通常使用-1, 这里使用cv2.CV_64F允许结果是负值, dx表示x轴方向算子,dy表示y轴方向算子 2.cv2.laplacian(s
阅读全文
posted @
2019-02-18 17:59
python我的最爱
阅读(2315)
推荐(0) 编辑
机器学习进阶-图像梯度运算-Sobel算子 1. cv2.Sobel(使用Sobel算子进行计算) 2. cv2.convertScalerAbs(将像素点进行绝对值的计算)
摘要:1.cv2.Sobel(src, ddepth, dx, dy, ksize) 进行sobel算子计算 参数说明:src表示当前图片,ddepth表示图片深度,这里使用cv2.CV_64F使得结果可以是负值, dx表示x轴方向,dy表示y轴方向, ksize表示移动方框的大小 2.cv2.conve
阅读全文
posted @
2019-02-18 17:24
python我的最爱
阅读(3578)
推荐(0) 编辑
机器学习进阶-图像形态学变化-礼帽与黑帽 1.cv2.TOPHAT(礼帽-原始图片-开运算后图片) 2.cv2.BLACKHAT(黑帽 闭运算-原始图片)
摘要:1.op = cv2.TOPHAT 礼帽:原始图片-开运算后的图片 2. op=cv2.BLACKHAT 黑帽: 闭运算后的图片-原始图片 礼帽:表示的是原始图像-开运算(先腐蚀再膨胀)以后的图像 黑帽:表示的是闭运算(先膨胀再腐蚀)后的图像 - 原始图像 代码: 第一步:读取图片 第二步:使用cv
阅读全文
posted @
2019-02-18 13:56
python我的最爱
阅读(1776)
推荐(0) 编辑
机器学习进阶-图像形态学操作-梯度运算 cv2.GRADIENT(梯度运算-膨胀图像-腐蚀后的图像)
摘要:1.op = cv2.GRADIENT 用于梯度运算-膨胀图像-腐蚀后的图像 梯度运算:表示的是将膨胀以后的图像 - 腐蚀后的图像,获得了最终的边缘轮廓 代码: 第一步:读取pie图片 第二步:进行腐蚀和膨胀操作 第三步:将膨胀的图像 - 腐蚀的图像,获得相减得图像 第四步:使用cv2.morpho
阅读全文
posted @
2019-02-18 13:38
python我的最爱
阅读(1216)
推荐(0) 编辑
机器学习进阶-图像形态学操作-开运算与闭运算 1.cv2.morphologyEx(进行各类形态学变化) 2.op=cv2.MORPH_OPEN(先腐蚀后膨胀) 3.op=cv2.MORPH_CLOSE(先膨胀后腐蚀)
摘要:1.cv2.morphologyEx(src, op, kernel) 进行各类形态学的变化 参数说明:src传入的图片,op进行变化的方式, kernel表示方框的大小 2.op = cv2.MORPH_OPEN 进行开运算,指的是先进行腐蚀操作,再进行膨胀操作 3. op = cv2.MORPH
阅读全文
posted @
2019-02-18 13:18
python我的最爱
阅读(6427)
推荐(0) 编辑
机器学习进阶-图像形态学操作-膨胀操作 1.cv2.dilate(进行膨胀操作)
摘要:1.cv2.dilate(src, kernel, iteration) 参数说明: src表示输入的图片, kernel表示方框的大小, iteration表示迭代的次数 膨胀操作原理:存在一个kernel,在图像上进行从左到右,从上到下的平移,如果方框中存在白色,那么这个方框内所有的颜色都是白色
阅读全文
posted @
2019-02-18 12:39
python我的最爱
阅读(23048)
推荐(0) 编辑
机器学习进阶-图像形态学操作-腐蚀操作 1.cv2.erode(进行腐蚀操作)
摘要:1.cv2.erode(src, kernel, iteration) 参数说明:src表示的是输入图片,kernel表示的是方框的大小,iteration表示迭代的次数 腐蚀操作原理:存在一个kernel,比如(3, 3),在图像中不断的平移,在这个9方框中,哪一种颜色所占的比重大,9个方格中将都
阅读全文
posted @
2019-02-18 12:10
python我的最爱
阅读(12158)
推荐(1) 编辑
机器学习进阶-阈值与平滑-图像平滑操作(去噪操作) 1. cv2.blur(均值滤波) 2.cv2.boxfilter(方框滤波) 3. cv2.Guassiannblur(进行高斯滤波) 4. cv2.medianBlur(进行中值滤波)
摘要:1.cv2.blur(img, (3, 3)) 进行均值滤波 参数说明:img表示输入的图片, (3, 3) 表示进行均值滤波的方框大小 2. cv2.boxfilter(img, -1, (3, 3), normalize=True) 表示进行方框滤波, 参数说明当normalize=True时,
阅读全文
posted @
2019-02-17 17:28
python我的最爱
阅读(18534)
推荐(0) 编辑
机器学习进阶-阈值与平滑-图像阈值 1. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)
摘要:1. ret, dst = cv2.thresh(src, thresh, maxval, type) 参数说明, src表示输入的图片, thresh表示阈值, maxval表示最大值, type表示阈值的类型 2. type的类型 1.cv2.THRESH_BINARY 表示阈值的二值化操作,大
阅读全文
posted @
2019-02-17 16:24
python我的最爱
阅读(1930)
推荐(0) 编辑
机器学习进阶-图像基本操作-数值计算 1.cv2.add(将图片进行加和) 2.cv2.resize(图片的维度变换) 3.cv2.addWeighted(将图片按照公式进行重叠操作)
摘要:1.cv2.add(dog_img, cat_img) # 进行图片的加和 参数说明: cv2.add将两个图片进行加和,大于255的使用255计数 2.cv2.resize(img, (500, 414)) # 根绝给定的维度进行变化 cv2.resize(img, (0, 0), fx=3, f
阅读全文
posted @
2019-02-17 12:23
python我的最爱
阅读(6032)
推荐(0) 编辑
机器学习进阶-图像基本操作-边界补全操作 1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 进行边界的补零操作 2.cv2.BORDER_REPLICATE(边界补零复制操作)...
摘要:1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 参数说明: img表示需要补零的图片, top_size, bottom_size, left_size, rig
阅读全文
posted @
2019-02-17 11:40
python我的最爱
阅读(2903)
推荐(1) 编辑
机器学习进阶-图片基本处理-ROI区域 1.img[0:200, 0:200]截取图片 2.cv2.split(对图片的颜色通道进行拆分) 3. cv2.merge(将颜色通道进行合并) 4 cur_img[:, :, 0] = 0 使得b通道的颜色数值为0
摘要:1. 截取图片的部分区域img[0:200, 0:200], 读入的图片是ndarray格式 2. b, g, r = cv2.split(img) # 对图片的颜色通道进行拆分 3.img = cv2.merge((b, g, r)) #对图片的颜色通道进行合并 4. 对其他通道置零,只显示单个通
阅读全文
posted @
2019-02-17 11:00
python我的最爱
阅读(5227)
推荐(1) 编辑
机器学习进阶-图像基本处理-视频的读取与处理 1.cv2.VideoCapture(视频的载入) 2.vc.isOpened(载入的视频是否可以打开) 3.vc.read(视频中一张图片的读取) 4.cv2.cvtColor(将图片转换为灰度图)
摘要:1.vc = cv2.VideoCapture('test.mp4') #进行视频的载入 2.vc.isOpened() # 判断载入的视频是否可以打开 3.ret, frame = vc.read() #进行单张图片的读取,ret的值为True或者Flase, frame表示读入的图片 4.cv2
阅读全文
posted @
2019-02-17 10:16
python我的最爱
阅读(1781)
推荐(1) 编辑
机器学习进阶-图像基本操作-图像数据读取 1.cv2.imread(图片读入) 2.cv2.imshow(图片展示) 3.cv2.waitKey(图片停留的时间) 4.cv2.destroyAllWindows(清除所有的方框界面) 5.cv2.imwrite(对图片进行保存)
摘要:1. cv2.imread('cat.jpg', cv2.IMGREAD_GRAYSCALE) # 使用imread读入图像(BGR顺序), 使用IMGREAD_GRAYSCALE 使得读入的图片为灰度图, 2. cv2.imshow('cat', img) # imshow表示展示图片,第一个参数
阅读全文
posted @
2019-02-17 09:38
python我的最爱
阅读(3512)
推荐(0) 编辑
机器学习进阶-svm支持向量机
摘要:支持向量机需要解决的问题:找出一条最好的决策边界将两种类型的点进行分开 这个时候我们需要考虑一个问题,在找到一条直线将两种点分开时,是否具有其他的约束条件,这里我们在满足找到一条决策边界时,同时使得距离边界最近的点到边界的距离最远,对于下图而言,我们可以看出右边的图比左边的图的分类效果要好,因为点到
阅读全文
posted @
2019-02-16 13:15
python我的最爱
阅读(416)
推荐(1) 编辑