
Opencv学习
文章平均质量分 56
暖仔会飞
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
opencv错误解决:TypeError: an integer is required (got type tuple)
最近在复现 YOLO 代码,其中要通过自己写的Dataset具体的内容是,将一个image在水平方向翻转,同时其对应的imgflip。原创 2023-01-18 11:29:53 · 986 阅读 · 0 评论 -
Opencv学习之:使用 opencv 将图片按照指定的帧率合成视频
代码这个 Image 里面存放了 173张图片,我们用这些图片合成一个 avi 的视频使用 fourcc 来进行编码import osimport cv2import timeimg_path = './Images'# 随便从其中拿到一张图片来代表视频中图片的尺寸img = cv2.imread('./Images/10.jpg')imgInfo = img.shapesize = (imgInfo[1], imgInfo[0])# 获得文件夹中图片的数量,从而进行循环生成视频原创 2022-04-19 23:10:04 · 3823 阅读 · 0 评论 -
Opencv学习之:将图片的值进行范围调整 cv2.normalize()
cv2.normalize()指定将图片的值放缩到 0-255 之间array = cv2.normalize(array,None,0,255,cv2.NORM_MINMAX)cv2.NORM_MINMAX :使用的放缩方式是 min_max 的方式其对应的原理是:x^=x−minmax−min∗(max′−min′)+min′\hat{x} = \frac{x-min}{max-min} * (max^{'}-min^{'}) + min^{'}x^=max−minx−min∗(ma原创 2022-01-23 23:55:45 · 37445 阅读 · 3 评论 -
opencv学习之:图像通过傅里叶变换进行低通高通滤波
文章目录傅里叶变换得到图片傅里叶变换频谱进行 shift 操作进行低通滤波(只保留中间低频的部分)高通滤波import cv2import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cdef cv_show(img): cv2.imshow("img",img) cv2.waitKey(0) def cv_read(img_file,gray=True): if g原创 2022-01-10 15:48:11 · 1336 阅读 · 0 评论 -
opencv学习之:边缘检测(高斯滤波、梯度计算、非极大值抑制、双阈值检测)
文章目录边缘检测步骤及原理高斯滤波器梯度计算非极大值抑制方法一方法二双阈值检测import cv2import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cdef cv_show(img): cv2.imshow("img",img) cv2.waitKey(0) def cv_read(img_file,gray=True): if gray == True:原创 2022-01-10 15:47:03 · 1464 阅读 · 0 评论 -
opencv学习之:直方图统计、均衡、局部直方图均衡(自适应均衡)
文章目录直方图统计可以通过掩码扣出一部分区域进行直方图统计直方图均衡均衡前均衡后局部均衡化(分小块均衡):自适应直方图均衡import cv2import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cdef cv_show(img): cv2.imshow("img",img) cv2.waitKey(0) def cv_read(img_file,gray=True):原创 2022-01-10 15:40:47 · 1792 阅读 · 0 评论 -
opencv学习之:图像轮廓(找出轮廓、绘出轮廓、近似轮廓、计算轮廓面积、周长)
文章目录图像轮廓轮廓检索模式 modes轮廓逼近方法 methods选取某个轮廓计算轮廓内的面积、周长轮廓近似的方法import cv2import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cdef cv_show(img): cv2.imshow("img",img) cv2.waitKey(0) def cv_read(img_file,gray=True):原创 2022-01-10 15:32:52 · 3043 阅读 · 0 评论 -
opencv学习之:图像金字塔(高斯金字塔,拉普拉斯金字塔,图像向上、向下采样)
文章目录图像金字塔高斯金字塔向下采样(缩小图片尺寸)向上采样(放大图片尺寸)拉普拉斯金字塔import cv2import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cdef cv_show(img): cv2.imshow("img",img) cv2.waitKey(0) def cv_read(img_file,gray=True): if gray == T原创 2022-01-10 15:21:26 · 1289 阅读 · 0 评论 -
opencv学习之:梯度运算(形态学方法,sobel,scharr,laplacian 算子)
文章目录梯度运算形态学中的梯度运算算子梯度计算苏泊尔算子 sobelScharr 算子laplacian 算子三种算子比较import cv2import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cdef cv_show(img): cv2.imshow("img",img) cv2.waitKey(0) def cv_read(img_file,gray=True):原创 2022-01-10 15:13:00 · 2003 阅读 · 0 评论 -
opencv学习之:形态学(1)腐蚀膨胀操作
import cv2import numpy as npimport matplotlib.pyplot as pltimport matplotlib.cm as cdef cv_show(img): cv2.imshow("img",img) cv2.waitKey(0) def cv_read(img_file,gray=True): if gray == True: return cv2.imread(img_file,0)原创 2022-01-10 14:53:10 · 436 阅读 · 0 评论 -
openpose学习之:可视化 PAF 场
加载准备好的数据(训练前的数据).h5 的数据是通过代码的预处理操作得到的原本的数据只有一个 COCO 数据集,通过预处理步骤,将数据整合成一个 .h5 的训练文件这里使用的代码是 基于 keras 的 openpose,源码网址在:https://github.com/kevinlin311tw/keras-openpose-reproduceimport numpy as npimport cv2import matplotlib.pyplot as pltfrom matplotl原创 2021-12-24 12:23:48 · 1586 阅读 · 0 评论 -
matplotlib学习之:三种产生 heatmap 热图的可视化方式
文章目录第一种:直接构造第二种:scipy + opencv第三种:产生向量热图import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport matplotlib.cm as c第一种:直接构造直接用数组构造二维的高斯分布grid_x = np.arange(40)grid_y = np.arange(40)[X,Y] = np.meshgrid(grid_x,grid_y)point = [3原创 2021-12-22 21:47:03 · 3055 阅读 · 1 评论 -
Body estimation 学习之:(1)生成关节 heatmap 全网最详细操作教程
import numpy as npimport cv2import matplotlib.pyplot as pltfrom matplotlib import cm as cimport osimport mathos.chdir("../")points = [[367, 81, 2], [378, 118, 2], [358, 129, 2], [341, 159, 2], [309,原创 2021-12-20 15:41:29 · 1284 阅读 · 0 评论 -
如何将opencv读入的图片通道的 BGR 顺序转成 RGB 顺序
文章目录方法1:数组切片的方法进行调转方法2:opencv 自身的方法进行调转演示方法1:数组切片的方法进行调转img = cv2.imread("cat.jpg")[:,:,::-1]ax = plt.imshow(img)对于一张图来说,是一个三位的向量,W∗H∗CW * H * CW∗H∗C ,其中 CCC 是通道数,这个切片的操作,是保留 W∗HW * HW∗H 操作不变,对第三个维度的操作进行反转即: [::−1][::-1][::−1],这样 CCC 中包含的 B,G,R 就变成 R原创 2021-11-28 13:38:29 · 4878 阅读 · 2 评论 -
Opencv学习之:reshape和 resize 的区别
文章目录区别reshaperesize区别reshapeimport cv2img = cv2.imread('09.jpg')s = img.shapeprint(s)n_rows = s[0] # 图片行数n_cols = s[1] # 图片列数n_channels = s[2] # 图片的通道数res = img.reshape([250,3000 ]) # 将图片中原有的所有像素值 reshape 成 250 * 3000 的图cv2.imshow('res原创 2020-09-01 23:03:08 · 8897 阅读 · 0 评论 -
Opencv学习之:获取图片的灰度分布图,对图片进行二值化处理
步骤:将图片读成灰度图将图中各个点的像素值进行统计,化成直方图确定一个阈值,比阈值大的设为255,小的设为0代码import cv2import matplotlib.pyplot as pltimport numpy as npdef create_hist(img): # 初始化一个字典来放数据,每个 key 的初始值都是 0,后面将这个图进行统计 figure_diction = {str(i): 0 for i in range(0,256)} for原创 2020-09-01 12:58:53 · 2763 阅读 · 0 评论 -
Opencv学习之:如何将矩阵转换成图片,如何将图片转换成矩阵
文章目录图片转化成矩阵方法一:方法二:矩阵转换成图片错误代码段正确代码段图片转化成矩阵方法一:使用 PIL 的方法 + img.getdata() 提取数据 + np.array() 的转换最后得到的结果是个二维数组from PIL import Imageimport numpy as np'''图片转数组'''img = Image.open('1.jpg') # 使用 PIL 打开图片data = img.getdata() # 获取图片的数据信息 class &l原创 2020-08-31 20:36:14 · 23563 阅读 · 2 评论 -
Opencv学习之:cv2.imread() 和 PIL.Image.open() 打开图片的区别
文章目录代码总结一下 PIL 和 cv2 打开图片的不同:代码第一部分展示了,使用 PIL 打开图片并且获得图片数据并转换成矩阵的过程第二部分展示了,使用 opencv 打开图片并且直接输出 矩阵的过程import cv2from PIL import Imageimport numpy as npimport pandas as pdimg = Image.open('1.jpg') # 使用 PIL 打开图片data = img.getdata() # 获取图片的数据信原创 2020-08-31 18:13:39 · 6764 阅读 · 1 评论 -
Opencv学习之:解决用 plt 显示 opencv 读取的图片时,有色差问题
问题import cv2import matplotlib.pyplot as pltimg = cv2.imread('1.jpg')cv2.imshow('img',img)plt.figure()plt.imshow(img)plt.show()cv2.waitKey(0)从这里看到,当我们 opencv 读取到的图片,再用 plt 展示出来,竟然会产生色差;这个是因为,cv2.imread 读取图片的通道是 BGR,而 plt 展示出来的顺序是 RGB 所以,我们再原创 2020-08-31 15:09:13 · 2685 阅读 · 4 评论