1. sift = cv2.xfeatures2d.SIFT_create() 实例化 参数说明:sift为实例化的sift函数 2. kp = sift.detect(gray, None)  找出图像中的关键点 参数说明: kp表示生成的关键点,gray表示输入的灰度图, 3. ret = cv2.drawKeypoints(gray, kp, img) 在图中画出关键点 参数说明:gray表示输入图片, kp表示关键点,img表示输出的图片 4.kp, dst = sift.compute…
1. cv2.cvtcolor(img, cv2.COLOR_BGR2GRAY) # 将彩色图转换为灰度图 参数说明: img表示输入的图片, cv2.COLOR_BGR2GRAY表示颜色的变换形式 2. cv2.findContours(img,mode, method)  # 找出图中的轮廓值,得到的轮廓值都是嵌套格式的 参数说明:img表示输入的图片,mode表示轮廓检索模式,通常都使用RETR_TREE找出所有的轮廓值,method表示轮廓逼近方法,使用NONE表示所有轮廓都显示 3.…
1.cv2.cornerHarris(gray, 2, 3, 0.04)  # 找出图像中的角点 参数说明:gray表示输入的灰度图,2表示进行角点移动的卷积框,3表示后续进行梯度计算的sobel算子的大小,0.04表示角点响应R值的α值 角点检测:主要是检测一些边角突出来的点,对于A和B这样的面上的点而言,一个卷积框在上面移动,框中的基本像素点不发生变化, 对于像C和D边界点,只有x或者y轴方向上的平移,像素框内的像素会发生偏移,而对于E和F这样的角点而言,不管是像x轴或者向y轴平移,像素框内…
1. cv2.matchTemplate(src, template, method)  # 用于进行模板匹配 参数说明: src目标图像, template模板,method使用什么指标做模板的匹配度指标 2. min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(ret)  # 找出矩阵中最大值和最小值,即其对应的(x, y)的位置参数说明:min_val, max_val, min_loc, max_loc 分别表示最小值,最大值,即对应的位…
1.cv2.erode(src, kernel, iteration) 参数说明:src表示的是输入图片,kernel表示的是方框的大小,iteration表示迭代的次数 腐蚀操作原理:存在一个kernel,比如(3, 3),在图像中不断的平移,在这个9方框中,哪一种颜色所占的比重大,9个方格中将都是这种颜色 代码: 1.读取带有毛刺的图片 2.使用cv2.erode进行腐蚀操作,比较不同的kernel对结果的影响 3.读取圆的图片 4.使用cv2.erode进行腐蚀操作,比较不同的迭代次数对结…
1.cv2.pyrDown(src)  对图片做向下采样操作,通常也可以做模糊化处理 参数说明:src表示输入的图片 2.cv2.pyrUp(src) 对图片做向上采样操作 参数说明:src表示输入的图片 高斯金字塔:分为两种情况:一种是向下采样,一种是向上采样 下采样的原理:先与Gi进行高斯卷积即高斯滤波,再将所有偶数行和列去除,实现行和列维度缩减的目的 代码: 第一步:读入图片 第二步:使用cv2.pyrDown进行高斯金字塔的下采样 第三步:使用自己的步骤做高斯金字塔的下采样,先对图像作高…
1.op = cv2.TOPHAT  礼帽:原始图片-开运算后的图片 2. op=cv2.BLACKHAT 黑帽: 闭运算后的图片-原始图片 礼帽:表示的是原始图像-开运算(先腐蚀再膨胀)以后的图像 黑帽:表示的是闭运算(先膨胀再腐蚀)后的图像 - 原始图像 代码: 第一步:读取图片 第二步:使用cv2.MOPRH_TOPHAT获得礼帽图片 第三步:使用cv2.MOPRH_BLACKHAT获得黑帽图片 import cv2 import numpy as np # 第一步读入当前图片 img =…
1.op = cv2.GRADIENT 用于梯度运算-膨胀图像-腐蚀后的图像 梯度运算:表示的是将膨胀以后的图像 - 腐蚀后的图像,获得了最终的边缘轮廓 代码: 第一步:读取pie图片 第二步:进行腐蚀和膨胀操作 第三步:将膨胀的图像 - 腐蚀的图像,获得相减得图像 第四步:使用cv2.morphologyEx(src, cv2.GRADIENT, kernel) 获得梯度运算的图片的操作 第五步:绘制第三步和第四步生成的图片 import cv2 import numpy as np # 第一…
1.cv2.dilate(src, kernel, iteration) 参数说明: src表示输入的图片, kernel表示方框的大小, iteration表示迭代的次数 膨胀操作原理:存在一个kernel,在图像上进行从左到右,从上到下的平移,如果方框中存在白色,那么这个方框内所有的颜色都是白色 代码: 1.读取带有毛躁的图片 2.使用cv2.erode进行腐蚀操作 3.使用cv2.dilate进行膨胀操作 import cv2 import numpy as np # 1.读入图片 img…
1.cv2.add(dog_img, cat_img)  # 进行图片的加和 参数说明: cv2.add将两个图片进行加和,大于255的使用255计数 2.cv2.resize(img, (500, 414))  # 根绝给定的维度进行变化   cv2.resize(img, (0, 0), fx=3, fy=1)  使得图像x轴变化为原来的三倍,y轴不变 参数说明:img表示需要变化的图片, (500, 414)表示变化的维度,长为414, 宽为500, fx=3, fy=1, 表示对图像的x…