opencv
油醋三椒
StuTan
展开
-
生成有噪点的图像
介绍我们都知道在 RGB 色彩空间下,若三个值均为255,则该像素为白色,若三个值均为0,则为黑色,通过这个原理,我们可以随机设置几个点像素值为黑色或者白色,成为该图像的噪点。代码import numpy as npimport cv2# 读取图片img = cv2.imread(r"E:/tu/13.png", cv2.IMREAD_UNCHANGED)rows, cols, c...原创 2019-12-22 17:30:35 · 1790 阅读 · 0 评论 -
利用opencv的stitcher函数进行全景图拼接
代码import cv2 as cvdef main(): stitcher = cv.createStitcher(False) img1 = cv.imread(r'pin1.jpg') img2 = cv.imread(r'pin2.jpg') result = stitcher.stitch((img1,img2)) cv.imshow("pi...原创 2019-12-22 17:19:20 · 1248 阅读 · 0 评论 -
opencv函数提取图片的sift特征并显示(python)
代码import cv2 as cvimg = cv.imread(r"te.jpg")cv.imshow("original",img)gray = cv.cvtColor(img,cv.COLOR_RGB2GRAY)sift = cv.xfeatures2d.SIFT_create()keypoints, descriptor = sift.detectAndCompute(g...原创 2019-12-22 17:12:18 · 2459 阅读 · 0 评论 -
opencv + python 实现双边滤波
介绍双边滤波是一个非线性滤波,采用的也是加权求和的方法,其权值矩阵由一个与空间距离相关的高斯函数和一个与灰度距离相关的高斯函数相乘得到。它可以达到保持边缘、降噪平滑的效果。其权值矩阵公式为:分析双边滤波的权值矩阵有两部分构成,一部分是空间距离,另一部分是像素差异。双边滤波的核函数是空间域核与像素范围域核的综合结果:在图像的平坦区域,像素值变化很小,对应的像素范围域权重接近于1,此时空间...原创 2019-12-22 16:59:11 · 11054 阅读 · 13 评论 -
HOG特征计算及实现(python)
计算步骤灰度图方式加载图片,假设该图像大小为(128,64)灰度图像gamma 矫正梯度计算利用一个微分Sobel函数,分别计算灰度图像X和Y方向上的梯度图像,根据着两幅图像,计算出梯度幅值图像8×88\times88×8 Cell 梯度直方图每个Cell 为8×88\times88×8,所以,一共有 个Cell(灰度图像的大小为128×64128\times64...原创 2019-12-22 16:11:52 · 7145 阅读 · 1 评论 -
seamcarving中seam的计算过程
原理给出能量矩阵,计算seam能量矩阵:八联通,第一行值不变,从第二行开始找出能够到达该节点的最小和,采用动态规划,不断计算下一个值,直至最后一行。实例假设能量矩阵如下(深蓝色标记是已经计算的结果),举例:对于第一个图到第二个图,5、8、12都与 2 是联通的,其中最小值为(5+2),故2 更新为 7,依此类推,如下:...原创 2019-12-22 15:13:25 · 929 阅读 · 0 评论 -
opencv + python 实现中值、最大值、最小值滤波
原理中值滤波其实就是对目标像素及周边像素取中值后再填回目标像素来实现滤波目的的方法。(最大值、最小值同理)优点:抑制椒盐噪点效果很好,画面的清析度基本保持;缺点:对高斯噪声的抑制效果不是很好。最大值滤波可以去除图像中的暗斑,同时也会使亮斑增大(膨胀);最小值滤波可以去除图像中的亮斑,同时也会增大暗斑(腐蚀)。代码import cv2 as cvimport numpy as npi...原创 2019-12-22 14:36:13 · 7059 阅读 · 6 评论 -
opencv+python实现高斯滤波
opencv+python实现高斯滤波import cv2 as cvimport numpy as npimport mathimport copygauss = np.array([1,2,1,2,4,2,1,2,1])def spilt( a ): if a/2 == 0: x1 = x2 = a/2 else: x1 = ...原创 2019-11-05 22:33:58 · 8734 阅读 · 5 评论 -
opencv+python 实现均值滤波
opencv+python 实现均值、中值滤波import cv2 as cvimport numpy as npimport mathimport copydef spilt( a ): if a/2 == 0: x1 = x2 = a/2 else: x1 = math.floor( a/2 ) x2 = a - x1...原创 2019-11-05 22:27:10 · 4503 阅读 · 0 评论 -
opencv函数实现均值、中值、高斯、高斯双边滤波
opencv函数实现均值、中值、高斯、高斯双边滤波# encoding:utf-8import cv2 # 读取图片img = cv2.imread(r"E:/tu/11.jpg")result0 = cv2.bilateralFilter(img,30,100,20) # 高斯双边滤波result1 = cv2.blur(img,(5,5)) #均值滤波result2 = c...原创 2019-11-05 22:16:59 · 411 阅读 · 0 评论