![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV系列
浅蓝的风
一场简单的旅行
展开
-
OpenCV中cv2.resize()的用法讲解
一、函数介绍 1、cv2.resize(img, (300, 200)) 功能:根据给定的维度进行变化 2、cv2.resize(img, (0, 0), fx=2, fy=1) 功能:使得图像x轴变化为原来的2倍,y轴不变 3、参数说明 ① img表示需要变化的图片 ② (300, 200)表示变化的维度,长...原创 2021-09-01 16:57:56 · 15322 阅读 · 0 评论 -
OpenCV中cv2.VideoCapture()的使用
一、函数简介cv2.VideoCapture可以捕获摄像头,用数字来控制不同的设备,例如0,1。 如果是视频文件,直接指定好路径即可。二、案例import cv2 #opencv读取的格式是BGRvc = cv2.VideoCapture('test.mp4')# 检查是否打开正确if vc.isOpened(): oepn, frame = vc.read()else: open = Falsewhile open: ret, frame = vc原创 2021-09-01 16:38:16 · 4367 阅读 · 0 评论 -
OpenCV中使用 cv2.equalizeHist()和cv2.createCLAHA()进行直方图均衡化案例
一、函数介绍 1、cv2.equalizeHist(img) 参数:img表示输入的图片 作用:表示进行直方图均衡化 2、cv2.createCLAHA(clipLimit=8.0, titleGridSize=(8, 8)) 参数:clipLimit颜色对比度的阈值 titleGridSize进行像素均衡化的网格大小,即在多少网格下进行直方图的均衡化操作 作用: 用于生成自适应均衡...原创 2021-08-28 11:18:56 · 6342 阅读 · 1 评论 -
OpenCV中使用 cv2.matchTemplate()、 cv2.minMaxLoc()、 cv2.rectangle()进行模板匹配
一、函数介绍 1、cv2.matchTemplate(src, template, method) 参数: src: 原图像图像格式为 uint8 或 float32。当传入函数时应 用中括号 [] 括来例如[img]template: 同样用中括号括来它会告函数我们统幅图 像的直方图。如果入图像是灰度图它的值就是 [0]如果是彩色图像 的传入的参数可以是 [0][1][2] 它们分别对应着 BGR。...原创 2021-08-28 11:18:01 · 5473 阅读 · 0 评论 -
OpenCV中使用 cv2.calcHist()-画直方图案例
一、函数介绍 1、cv2.calcHist(images,channels,mask,histSize,ranges)-用于生成图像的频数直方图 参数: images: 原图像图像格式为 uint8 或 float32。当传入函数时应 用中括号 [] 括来例如[img]channels: 同样用中括号括来它会告函数我们统幅图 像的直方图。如果入图像是灰度图它的值就是 [0]如果是彩色图像 的传入的参数可以是 [0]...原创 2021-08-28 11:19:46 · 2711 阅读 · 0 评论 -
OpenCV中cv2.VideoCapture()函数进行视频的读取
1、功能介绍cv2.VideoCapture可以捕获摄像头,用数字来控制不同的设备,例如0,1。 如果是视频文件,直接指定好路径即可。 cv2.cvtColor(p1,p2) 是颜色空间转换函数,p1是需要转换的图片,p2是转换成何种格式。2、案例import cv2 #opencv读取的格式是BGRvc = cv2.VideoCapture('test.mp4')# 检查是否打开正确if vc.isOpened(): oepn, frame = vc.read()原创 2021-08-26 10:18:17 · 3453 阅读 · 0 评论 -
OpenCV中图片处理-傅里叶变换讲解
一、傅里叶变换1. cv2.dft(img, cv2.DFT_COMPLEX_OUTPUT) 进行傅里叶变化参数说明:img表示输入的图片,cv2.DFT_COMPLEX_OUTPUT表示进行傅里叶变化的方法2. np.fft.fftshift(img) 将图像中的低频部分移动到图像的中心参数说明:img表示输入的图片3. cv2.magnitude(x, y) 将sqrt(x^2 ...原创 2021-08-27 09:27:14 · 3744 阅读 · 2 评论 -
OpenCV中图片图像轮廓提取-cv2.findContours()讲解
一、图像轮廓1. cv2.findContours(img,mode, method) 找出图中的轮廓值,得到的轮廓值都是嵌套格式的 参数说明:img表示输入的图片,mode表示轮廓检索模式,通常都使用RETR_TREE找出所有的轮廓值,method表示轮廓逼近方法,使用NONE表示所有轮廓都显示...原创 2021-08-27 09:27:55 · 38690 阅读 · 1 评论 -
OpenCV中图片边缘提取-图像金字塔cv2.pyrUp()和cv2.pyrDown()讲解
一、图像金字塔1、cv2.pyrUp(src)对图片做向上采样操作src表示输入的图片2、cv2.pyrDown(src)对图片做向下采样操作,通常也可以做模糊化处理src表示输入的图片 3、高斯金字塔:分为两种情况:一种是向下采样,一种是向上采样 4、下采样的原理:先与Gi进行高斯卷积...原创 2021-08-27 09:24:26 · 1880 阅读 · 0 评论 -
OpenCV中图片边缘提取算子cv2.Canny()讲解
一、图像梯度-Sobel算子1、cv2.Sobel(src, thresh1, thresh2) 进行canny边缘检测src表示输入的图片,thresh1表示最小阈值,thresh2表示最大阈值,用于进一步删选边缘信息 2、检测步骤二、每一步的细节讲解三、案例import cv2img=cv2.imread("len...原创 2021-08-27 09:26:22 · 4388 阅读 · 0 评论 -
OpenCV中图片边缘提取算子cv2.Scharr()和cv2.Laplacian()的讲解
一、图像梯度-Scharr算子1、cv2.Scharr(src,ddepth,dx,dy)参数说明:src表示输入的图片,ddepth表示图片的深度,通常使用-1, 这里使用cv2.CV_64F允许结果是负值,dx表示x轴方向算子,dy表示y轴方向算子 注:scharr算子, 从图中我们可以看出scha...原创 2021-08-27 09:25:30 · 2813 阅读 · 0 评论 -
OpenCV中图片边缘提取算子cv2.Sobel()讲解
一、图像梯度-Sobel算子1、cv2.Sobel(src, ddepth, dx, dy, ksize)ddepth:图像的深度dx和dy分别表示水平和竖直方向 ksize是Sobel算子的大小 import cv2img = cv2.imread('pie.png',cv2.IMREAD_GRAYSCALE)cv2.imshow("img",img)cv2...原创 2021-08-27 09:23:37 · 2650 阅读 · 0 评论 -
OpenCV中的cv2.morphologyEx()函数-礼帽与黑帽讲解
礼帽 = 原始输入-开运算结果 黑帽 = 闭运算-原始输入#礼帽img = cv2.imread('dige.png')tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)cv2.imshow('tophat', tophat)cv2.waitKey(0)cv2.destroyAllWindows()#黑帽img = cv2.imread('dige.png')blackhat = cv2.morphologyEx(im原创 2021-08-27 09:26:45 · 1171 阅读 · 0 评论 -
OpenCV中腐蚀、膨胀、开运算与闭运算、梯度运算讲解
一、腐蚀操作:cv2.erode(src, kernel, iteration) 1、参数src:表示的是输入图片;kernel:表示的是方框的大小;iteration:表示迭代的次数2、腐蚀操作原理:存在一个kernel,比如(3, 3),在图像中不断的平移,在这个9方框中,哪一种颜色所占的比重大,9个方格中将都是这种颜色...原创 2021-08-27 09:24:53 · 1632 阅读 · 0 评论 -
OpenCV中常见的图片处理方式
1、灰度图import cv2 #opencv读取的格式是BGRimport numpy as npimport matplotlib.pyplot as plt#Matplotlib是RGB%matplotlib inline img=cv2.imread('cat.jpg')img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)img_gray.shapecv2.imshow("img_gray", img_gray)cv2.waitKe原创 2021-08-27 09:25:56 · 887 阅读 · 0 评论 -
OpenCV中使用cv2.addWeighted()函数实现图片融合
1、cv2.addWeighted(src1, alpha, src2, beta) 参数讲解src1, src2:需要融合相加的两副大小和通道数相等的图像 alpha:src1的权重 beta:src2的权重2、案例:import cv2import matplotlib.pyplot as pltimport numpy as np %matplotlib inline img1=cv2.imread('1.jpg')img2=cv2.imread('2.jpg')re原创 2021-08-27 09:23:13 · 1576 阅读 · 0 评论 -
OpenCV中使用cv2.copyMakeBorder()对图片进行边界填充
1、cv2.copyMakeBorder()函数src:要处理的原图 top, bottom, left, right:上下左右要扩展的像素数 borderType:边框类型2、borderType常见类型BORDER_REPLICATE:复制法,也就是复制最边缘像素。 BORDER_REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制例如:fedcba|abcdefgh|hgfedcb BORDER_REFLECT_101:反射法,也就是以最边缘像素为轴,对称,gfedcb|ab原创 2021-08-28 11:20:11 · 3317 阅读 · 2 评论 -
OpenCV中的图片截取和颜色通道提取
1、截取部分图像数据import cv2 #opencv读取的格式是BGRdef cv_show(name,img): """ 图片显示函数 """ cv2.imshow(name,img) cv2.waitKey(0) cv2.destroyAllWindows()img=cv2.imread('1.jpg')# 截取部分图像数据cat=img[0:50,0:200] cv_show('1',cat)2、原创 2021-08-26 10:19:44 · 2520 阅读 · 0 评论 -
OpenCV中cv2.imread()和cv2.imshow()对图片读取和显示
1、cv2读取图片的两种常见模式:cv2.IMREAD_COLOR:彩色图像cv2.IMREAD_GRAYSCALE:灰度图像案例:import cv2 #opencv读取的格式是BGRimg=cv2.imread('cat.jpg')#img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)img#图像的显示,也可以创建多个窗口cv2.imshow('image',img) # 等待时间,毫秒级,0表示...原创 2021-08-26 10:19:24 · 3124 阅读 · 0 评论 -
OpenCV中cv2.VideoWriter_fourcc()函数和cv2.VideoWriter()函数的结合使用
一、VideoWriter_fourcc()常见的编码参数参数列表 cv2.VideoWriter_fourcc('M', 'P', '4', 'V') MPEG-4编码 .mp4 可指定结果视频的大小 cv2.VideoWriter_fourcc('X','2','6','4') MPEG-4编码 .mp4 可指定结果视频的大小 cv2.VideoWriter_fourcc('I', '4',原创 2021-08-20 16:27:34 · 47035 阅读 · 10 评论 -
OpenCV中 VideoCapture.get()参数汇总
注:汇总get函数参数所代表的的功能,方便查询和使用参数列表 cv2.VideoCapture.get(0) 视频文件的当前位置(播放)以毫秒为单位 cv2.VideoCapture.get(1) 基于以0开始的被捕获或解码的帧索引 cv2.VideoCapture.get(2) 视频文件的相对位置(播放):0=电影开始,1=影片的结尾。 cv2.VideoCapture.get(3) 在视频流的帧的宽度 cv2.VideoCapture.get(4) 在原创 2021-08-20 15:54:45 · 1014 阅读 · 1 评论