随笔分类 -  计算机视觉

摘要:1、原理:模板匹配是用来在一副大图中搜寻查找模版图像位置的方法 OpenCV 为我们提供了函数:cv2.matchTemplate()。和 2D 卷积一样,它也是用模 板图像在输入图像(大图)上滑动,并在每一个位置对模板图像和与其对应的 输入图像的子区域进行比较。OpenCV 提供了几种不同的比较方 阅读全文
posted @ 2020-02-07 14:35 Tomorrow1126 阅读(522) 评论(0) 推荐(0) 编辑
摘要:1、简单阈值(整个图像,采用同一个数作为阈值) cv2.threshhold()第一个参数是原图像,第二个参数就是用来对像素值进行分类的阈值。第三个参数就是当像素值高于(有时是小于)阈值时应该被赋予的新的像素值。 OpenCV 提供了多种不同的阈值方法,这是有第四个参数来决定的。这些方法包括: • 阅读全文
posted @ 2020-02-07 14:03 Tomorrow1126 阅读(471) 评论(0) 推荐(0) 编辑
摘要:有两类图像金字塔:高斯金字塔和拉普拉斯金字塔 1、高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的。顶 部图像中的每个像素值等于下一层图像中 5 个像素的高斯加权平均值。这样 操作一次一个 MxN 的图像就变成了一个 M/2xN/2 的图像。所以这幅图像 的面积就变为原来图像面积的四分之一 阅读全文
posted @ 2020-02-07 12:33 Tomorrow1126 阅读(190) 评论(0) 推荐(0) 编辑
摘要:步骤 :噪声去除,计算图像梯度,非极大值抑制, 滞后阈值 cv2.Canny()可以完成以上几步。 import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('messi5.jpg',0) 阅读全文
posted @ 2020-02-07 12:28 Tomorrow1126 阅读(101) 评论(0) 推荐(0) 编辑
摘要:1、2D卷积 LPF:低通滤波,去除噪音,模糊图像 HPF:高通滤波,帮助我们找到图像的边缘 cv.filter2D()可以对图像进行卷积操作。 操作如下:将核放在图像的一个像素 A 上,求与核对应的图像上 25(5x5) 个像素的和,在取平均数,用这个平均数替代像素 A 的值。重复以上操作直到 将 阅读全文
posted @ 2020-02-07 12:20 Tomorrow1126 阅读(189) 评论(0) 推荐(0) 编辑
摘要:1、变换 OpenCV 提供了两个变换函数,cv2.warpAffine 和 cv2.warpPerspective, 使用这两个函数你可以实现所有类型的变换。cv2.warpAffine 接收的参数是 2 × 3 的变换矩阵,而 cv2.warpPerspective 接收的参数是 3 × 3 的 阅读全文
posted @ 2020-02-07 11:43 Tomorrow1126 阅读(245) 评论(0) 推荐(0) 编辑
摘要:1、转换颜色空间 HSV:色调(H),饱和度(S),明度(V)。 比如从 BGR 到灰度图,或者从BGR 到 HSV 等 我们要用到的函数是:cv2.cvtColor(input_image,flflag),其中 flflag 就是转换类型。 对于 BGR↔Gray 的转换,我们要使用的 flfla 阅读全文
posted @ 2020-02-06 23:43 Tomorrow1126 阅读(358) 评论(0) 推荐(0) 编辑
摘要:1、图像加法 可以用函数cv2.add()将两幅图像进行加法运算,当然也可以直接使用numpy。 res=img1+img2。两幅图像的大小,类型必须一致,或者第二个,图像可以使一个简单的标量值。 注意:OpenCV 中的加法与 Numpy 的加法是有所不同的。OpenCV 的加法 是一种饱和操作, 阅读全文
posted @ 2020-02-06 23:33 Tomorrow1126 阅读(256) 评论(0) 推荐(0) 编辑
摘要:1、先读取一个图片 import cv2 import numpy as np img = cv2.imread('test.jpg') 我们可以获取该图像的属性:行,列,通道,图像数据类型,像素数目等,具体如下。 img.shape:获取图像的形状,返回值是一个包含行数,列数,通道数的元组 img 阅读全文
posted @ 2020-02-06 22:39 Tomorrow1126 阅读(208) 评论(0) 推荐(0) 编辑
摘要:1、创建一个VideoWriter的对象,我们应该确定一个输出文件的名字。 2、接下来指定FourCC编码。这是一个4字节码,用来确定视频的编码格式, 以MJPG为例,cv2.cv.FOURCC(*'MJPG') 3、播放频率和帧的大小也都需要确定。 4、最后一个是isColor标签,如果是True 阅读全文
posted @ 2020-02-06 21:42 Tomorrow1126 阅读(234) 评论(0) 推荐(0) 编辑
摘要:1、VideoCapture()括号中写视频文件的名字,在播放每一帧的时候,使用cv2.waitKey()设置适当的持续时间,太低会播放的很快,太高会很慢,通常情况下25毫秒就行了。 2、获取相机/视频的各种属性–常见函数 cv2.VideoCapture.get(propId) 访问视频的某些功能 阅读全文
posted @ 2020-02-06 20:36 Tomorrow1126 阅读(1536) 评论(0) 推荐(0) 编辑
摘要:1、ord()函数:它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。 2、cap.read()返回一个布尔值,如果帧读取的是正确的,就是T 阅读全文
posted @ 2020-02-05 21:39 Tomorrow1126 阅读(285) 评论(0) 推荐(0) 编辑
摘要:1、Matplotlib是python的一个绘图库。 2、from matplotlib import pyplot as plt 阅读全文
posted @ 2020-02-05 16:05 Tomorrow1126 阅读(108) 评论(0) 推荐(0) 编辑
摘要:1、安装pytesseract,用于图像验证识别。 2、 图像属性:通道数目,高与宽,像素数据,图像类型 3、读取一种格式的图像文件,将其保存成另一种格式 image = cv2.imread("cat.jpg") cv2.imwrite("cat.png",image) 4、cv2.imread读 阅读全文
posted @ 2020-02-05 15:51 Tomorrow1126 阅读(136) 评论(0) 推荐(0) 编辑
摘要:目标 • 学习使用 OpenCV 绘制不同几何图形 • 你将会学习到这些函数:cv2.line(),cv2.circle(),cv2.rectangle() ,cv2.ellipse() ,cv2.putText() 等。 代码上面所有的这些绘图函数需要设置下面这些参数: • img:你想要绘制图形 阅读全文
posted @ 2019-11-22 12:48 Tomorrow1126 阅读(280) 评论(0) 推荐(0) 编辑
摘要:import cv2 cap = cv2.VideoCapture(0) i = 0 while 1: ret, frame = cap.read() k = cv2.waitKey(1) if k == 27: break elif k == ord('s'): cv2.imwrite('E:/O 阅读全文
posted @ 2019-11-17 20:09 Tomorrow1126 阅读(193) 评论(0) 推荐(0) 编辑
摘要:import cv2 import numpy import os img = numpy.zeros((3, 3), dtype=numpy.uint8) print(img) img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) print(img) print 阅读全文
posted @ 2019-11-17 20:04 Tomorrow1126 阅读(124) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示