![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
文章平均质量分 69
胵恦
这个作者很懒,什么都没留下…
展开
-
OpenCV实战——使用Stitcher进行全景拼接
使用Stitcher进行全景拼接1. 需求讲解我们实现一个可以自动扫描文件夹且自动拼接图片的程序。如我的图片都放在名为Image的文件夹下,且文件夹中有名为1、2的两个文件夹,程序自动扫描文件夹1、2,对其中的图片进行拼接。注意:如若要拼接成功,对其中的图片要求还是挺高的,不是随便什么图片都能给你拼接出来。2. 代码实现2.1 APIos.listdir(path):os.listdir()f’':f’’2.2 完整代码import cv2import os# 这里是为了实现系统自原创 2022-04-20 11:10:54 · 1750 阅读 · 0 评论 -
OpenCV实战——识别二维码和条形码
识别二维码和条形码1. 前期准备我们需要下载一个pyzbar的包,直接命令行窗口 pip install pyzbar就行了。2. APIcv2.VideoCapture().set(propId, value)当然要看完成的cv2.VideoCapture()函数,这里给个链接:cv2.VideoCapture()3. 代码实现import cv2import numpy as np# 我们只需要用到该包中的decodefrom pyzbar.pyzbar import decode原创 2022-04-19 15:58:08 · 6391 阅读 · 1 评论 -
OpenCV实战——角度测量
角度测量1. OpenCV鼠标操作基本知识链接:鼠标操作对于这个项目而言,知道这么多已经够用了。2. 获取鼠标点击得到的点坐标import cv2import math# 读入带有角度的图片path = 'angle.png'img = cv2.imread(path)# 鼠标点击位置坐标列表pointsList = []# 定义鼠标点击坐标函数,参数列表为事件,横纵坐标,标志,参数def mousePoints(event, x, y, flags, params): #原创 2022-04-18 11:28:28 · 5809 阅读 · 2 评论 -
OpenCV项目实战——使用Tesseract进行文本检测(非完全)
使用Tesseract进行文本检测1. 下载、安装和配置Tesseract我是直接根据该教程完成的配置,大家也可以看看进行参考:Tesseract安装和配置win10进入环境变量步骤:1.右击此电脑,点击属性2.关于界面,相关设置里点击高级系统设置3.点击环境变量注意:1.我们需要下载Tesseract-ocr并且记住你的安装路径。2.我们直接在命令提示符窗口,输入pip install pytesseract即可安装最新的pytesseract,当然也可以在pycharm中File-原创 2022-04-17 16:29:26 · 4966 阅读 · 3 评论 -
OpenCV初尝试13——图像特征
13 图像特征13.1 Harris角点检测Harris角点检测的思想是通过图像的局部的小窗口观察图像,角点的特征是窗口沿任意方向移动都会导致图像灰度的明显变化。Harris角点检测的数学原理较为繁琐,直接上个链接,Harris角点检测cv2.cornerHarris(img, blockSize, ksize, k)– img:数据类型为float32的输入图像– blockSize:角点检测中要考虑的邻域大小– ksize:sobel求导使用的核大小– k:取值参数为[0.04, 0原创 2022-04-11 17:10:46 · 3574 阅读 · 0 评论 -
OpenCV初尝试12——傅里叶变换
12 傅里叶变换12.1 傅里叶变换相关知识何为傅里叶变换?数学家傅里叶认为:任何连续周期的信号都可以由一组是党的正弦曲线组合而成。傅里叶变换是信号的分析方法,目的就是要简化问题,而不是将其变复杂,傅里叶选择了正弦波,而没有选择其他波形,是因为正弦波有任何其他波形不具有的特点:**正弦波输入至任何线性系统中,不会产生新的频率成分,输出的仍是正弦波,改变的仅仅是幅值和相位。**用单位幅值的不同频率的正弦波输入至某线性系统,记录其输出正弦波的幅值和频率的关系,就得到该系统的幅频特性,记录输出正弦波的相原创 2022-04-08 15:09:23 · 2513 阅读 · 0 评论 -
OpenCV初尝试11——直方图与均衡化
11 直方图与均衡化11.1 直方图cv2.calcHist(images, channels, mask, histSize, ranges)– images:原图像图像格式为uint8或float32,;当传入函数时应用中括号[]括起来;– channels:同样用中括号括起来;如果输入图像是灰度图,则它的值为[0];如果是彩色图像传入的参数可以使[0][1][2](它们分别对应着BGR);– mask:掩膜图像;统计整幅图像的直方图,则它的值为None;但若你想统计图像的某一份的直方图,原创 2022-04-08 14:13:29 · 263 阅读 · 0 评论 -
OpenCV初尝试10——模板匹配
10 模板匹配模板匹配:就是在给定的图片中查找和模板最相似的区域,该算法输入模板和查找的图片,模板在原图像上从原点开始滑动(从左往右,从上到下),计算模板与图像被模板覆盖的地方的差别程度(这个差别程度的计算方法在OpenCV里有6种),然后将每次计算的结果放进一个矩阵里,作为结果输出。假如原图形是AB大小,而模板是ab大小,则输出结果的矩阵是(A-a+1)*(B-b+1)。cv2.matchTemplate(img, template, method)参数分别为:要进行模板匹配的图像,模板和实现模板原创 2022-04-07 17:33:11 · 2482 阅读 · 0 评论 -
OpenCV初尝试9——轮廓检测
9 轮廓检测9.1 轮廓检测与绘制检测轮廓API:cv2.findContours(image, mode, method[, contours[, hierarchy[, offset ]]])返回三个值:img(轮廓本身);contours(每条轮廓对应的属性);hierarchy(层级)– mode:轮廓的检索模式,有四种:1.cv2.RETR_EXTERNAL:只检测外轮廓;2.cv2.RETR_LIST:检测所有的轮廓,并将其保存在一条链表中;3.cv2.RETR_CCOMP:原创 2022-04-07 16:27:06 · 1458 阅读 · 0 评论 -
OpenCV应用2——人脸检测
人脸检测注意:这里需要使用到github里面提供的人脸数据文件,上github官网上搜索opencv点击第一个,在点击data,保存haarcascade_frontalface_alt.xml文件,但本人今天挂了加速器都进不去改文件的raw界面,不知道是什么原因。如果能够进去raw界面。保存到你代码的当前目录下,实行我以下的操作即可。单个人脸检测import cv2import numpy as npif __name__ == '__main__': img = cv2.imr原创 2022-04-04 12:55:56 · 1174 阅读 · 0 评论 -
OpenCV应用1——图片马赛克
图片马赛克整张图片马赛克原创 2022-04-04 12:34:24 · 1766 阅读 · 0 评论 -
OpenCV初尝试8——图像阈值
8 图像阈值原创 2022-04-03 16:11:06 · 1382 阅读 · 0 评论 -
OpenCV初尝试7——形态学操作
7 形态学操作7.1 腐蚀cv2.erode(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])import cv2import numpy as np#传入二值图像img = imread('./img.png')#卷积核越大,腐蚀范围越大kernel = np.ones((5, 5), np.uint8)#iterations:表示迭代几次,即执行几次腐蚀操作erosion = cv2原创 2022-04-03 15:10:08 · 986 阅读 · 0 评论 -
OpenCV初尝试6——滤波器
滤波器原创 2022-04-02 22:03:17 · 997 阅读 · 0 评论 -
OpenCV初尝试5——图像的基本变换
5 图像的基本变换5.1 图像的放大与缩小cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])其中interpolation:插值算法主要有以下几种:INTER_NEAREST:邻近插值,速度快,效果差INTER_LINEAR:双线性插值,使用原图中的4个点进行插值INTER_CUBIC:三次插值,原图中的16个点INTER_AREA:区域插值,效果最好,计算时间最长import cv2import numpy as原创 2022-04-01 21:54:14 · 109 阅读 · 0 评论 -
OpenCV初尝试4——图像的算术与位运算
4 图像的算术与位运算4.1 图像的算术运算4.1.1 图像的加减乘除运算cv2.add(src1, src2[, dst[, mask[, dtype]]])cv2.subtract(src1, src2[, dst[, mask[, dtype]]])cv2.multiply(src1, src2[, dst[, scale[, dtype]]])cv2.divide(src1, src2[, dst[, scale[, dtype]]])import cv2cat = cv2.i原创 2022-04-01 16:21:44 · 298 阅读 · 0 评论 -
OpenCV初尝试3——绘制图形
主要记录图像绘制的操作原创 2022-04-01 15:10:49 · 709 阅读 · 0 评论 -
OpenCV初尝试2——颜色空间
关于OpenCV的颜色空间原创 2022-04-01 11:38:27 · 1340 阅读 · 0 评论 -
OpenCV初尝试1——图像视频的加载和显示
文章的内容为本人观看网站上的相关课程进行的知识整理,为本人学习使用,并不用于商业用途,如有侵权,请联系删除。原创 2022-03-31 22:21:26 · 1613 阅读 · 1 评论