OpenCV
冷月枫啊
暑假,我们一起努力!
展开
-
使用openCV在图片上显示中文
文章目录1.先寻找一个中文字体2.编写函数我们一般使用的PutText()放置的都是英文,但是有时候我们需要添加中文到图片上,这时候我们需要写一个函数。1.先寻找一个中文字体在windows中有这种字体,我们按上面那个目录查找C:\Windows\Fonts然后我们直接搜索宋体,框起来的那个就是我们需要的,复制到树莓派就行。我们查看属性也知道是我们需要的字体。2.编写函数#coding=utf-8#中文乱码处理 import cv2import numpyfrom PI原创 2021-02-20 19:15:37 · 2707 阅读 · 0 评论 -
使用python抓取100张人脸图片
参考b站的一个视频,大家有兴趣可以去搜一下注意:人脸识别分类器需要自己安装就是这几个xml文件运行这个程序import cv2import osdef CatchPICFromVideo(catch_pic_num,path_name): # 视频来源,可以来自一段已保存的视频,也可以来自于摄像头 cap = cv2.VideoCapture(0) # 获取摄像头的图像 # 告诉opencv使用人脸识别分类器 face_detector = cv2.Ca原创 2021-01-31 08:33:00 · 1271 阅读 · 0 评论 -
numpy的使用
numpy的使用准备工作:import numpy as np·一、创建矩阵list1 = [[1, 2, 3], [4, 5, 6]]array1 = np.array(list1, dtype=np.float)array2 = np.zeros((3, 4)) # 全为0的矩阵array3 = np.ones((3, 4)) # 全为1的矩阵array4 = np.arange(12) # 生成一个一行的从0到11的矩阵array5 = np.a...原创 2020-08-09 21:42:10 · 170 阅读 · 0 评论 -
解决pycharm 运行OpenCV没有提示的问题
解决pycharm 运行OpenCV没有提示的问题我在使用pycharm运行OpenCV时,发现函数都没有提示如下:百度搜了好多,也试了好多,都不行。今天又看了一个实测有效,确实很棒。还是在刚才的界面按住ctrl键,点这个cv2,进入__init__.py里面的代码import importlibfrom .cv2 import *from .data import *# wildcard imp...原创 2020-07-30 12:12:58 · 6558 阅读 · 0 评论 -
图像特征提取与描述
图像特征提取与描述文章目录1.理解图像特征2.Harris角点检测1.OpenCV中的Harris角点检测2.亚像素级精确度的角点3.Shi-Tomasi 角点检测 & 适合于跟踪的图像特征4.介绍 SIFT 尺寸不变特征变换(Scale-Invariant Feature Transform)1.尺度空间极值检测2.关键点(极值点)定位3.为关键点(极值点)指定方向参数4.关键点描述符5.关键点匹配5.介绍 SURF(Speeded-Up Robust Features...原创 2020-07-26 20:42:39 · 792 阅读 · 0 评论 -
分水岭分割和GrabCut前景提取
分水岭分割和GrabCut前景提取文章目录1.分水岭算法图像分割2.使用GrabCut算法进行交互式前景提取准备工作:import cv2import numpy as npimport matplotlib.pyplot as pltdef cv_show(name, img): cv2.imshow(name, img) cv2.waitKey(0) cv2.destroyAllWindows()1.分水岭算法图像分割# 分水岭算法图像分...原创 2020-07-26 20:19:34 · 429 阅读 · 1 评论 -
Hough 变换
Hough 变换文章目录1.Hough 直线变换1.OpenCV中的霍夫变换2.Probabilistic Hough Transform2.Hough 圆环变换'''霍夫变换在检测各种形状的技术中非常流行,如果你要检测的形状可以用数学表达式写出,你就可以是使用霍夫变换检测它。及时检测的形状存在一点破坏或者扭曲也可以使用'''准备工作:import cv2import numpy as npimport matplo...原创 2020-07-26 08:44:16 · 386 阅读 · 0 评论 -
模板匹配
模板匹配文章目录1.最大值最小值2.单模板匹配3.多模板匹配# 模板匹配'''使用模板匹配在一副图像中查找目标模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,并与每一个位置对模板图像和其对应的输入图像的子区进行比较。计算模板与(图像被模板覆盖的地方)的差别程度,这个差别程度的计算方法在opencv里有6种,然后将每次计算的结果放入一个矩阵里,作为结果输出。假设原图形是AXB大小,而模板是aXb大小,则输出结果矩阵是(A-a+1)X (B-b+1)T...原创 2020-07-25 21:37:18 · 250 阅读 · 0 评论 -
傅里叶变换
傅里叶变换文章目录1.Numpy中的傅里叶变换2.高通滤波3.OpenCV中的傅里叶变换4.低通滤波''' 对于一个正弦信号,如果它的幅度变化非常快,是高频信号 如果变化非常慢,低频信号。 傅里叶变换的作用 高频:变化剧烈的灰度分量,例如边界和噪声 低频:变化缓慢的灰度分量。例如一片大海 滤波: 低通滤波器:只保留低频,会使图像模糊 高通滤波器:只保留高频,会使得图像细节增强'''准备工作:import cv2.cv2 as cv2import nu...原创 2020-07-25 21:27:22 · 418 阅读 · 0 评论 -
直方图
直方图文章目录1.直方图的计算,绘制与分析1.统计直方图2.绘制直方图3.使用掩模2.直方图均衡化1.绘制折线图和柱状图2.使用其他方法直方图均衡化3.使用OpenCV直方图均衡化4.CLAHE 有限对比适应性直方图均衡化3.2D直方图1.OpenCV中的2D直方图2.Numpy中的2D直方图3.绘制2D直方图4.直方图反向投影1.Numpy中的算法2.OpenCV中的反向投影'''通过直方图可以对整副图像的灰度分布有一个整体的了解。直方图的x轴是灰度值(0到255),y轴是图片中...原创 2020-07-25 21:19:26 · 479 阅读 · 0 评论 -
轮廓
轮廓文章目录1.初识轮廓1.查找轮廓2.绘制轮廓2.轮廓特征1.矩2.轮廓面积3.轮廓周长4.轮廓近似5.凸包6.凸性检测7.边界矩形1.直边界矩形2.旋转边界矩形8.最小外接圆9.椭圆拟合10.直线拟合3.轮廓的性质1.长宽比2.Extent3.Solidity4.Equivalent Diameter5.方向6.掩模和像素点7.最大值和最小值及它们的位置8.平均颜色及平均灰度9.极点4.更多函数1...原创 2020-07-24 18:14:44 · 271 阅读 · 0 评论 -
图像金字塔
图像金字塔文章目录1.高斯金字塔2.拉普拉斯金字塔3.金字塔图像融合我们需要对同一图像的不同分辨率的子图像进行处理。创建一组图像,这些图像具有不同的分辨率的原始图像,这组图像叫做图像金字塔。准备工作:import cv2import numpy as npimport matplotlib.pyplot as pltdef cv_show(name, img): cv2.imshow(name,...原创 2020-07-24 17:26:08 · 161 阅读 · 0 评论 -
Canny边缘检测
Canny边缘检测准备工作:import cv2import numpy as npimport matplotlib.pyplot as pltdef cv_show(name, img): cv2.imshow(name, img) cv2.waitKey(0) cv2.destroyAllWindows()Canny边缘检测:''' Canny边缘检测 ...原创 2020-07-22 20:11:46 · 132 阅读 · 0 评论 -
图像梯度
图像梯度文章目录1.Sobel算子2.不同算子的差异原理: 梯度简单来说就是求导。Sobel,Scharr就是求一阶或二阶导数,Scharr是对Sobel(使用小的卷积核求解梯度角度时)的优化,Laplacian是求二阶导数准备工作:import cv2import numpy as npimport matplotlib.pyplot as plt# 显示函数def cv_show(name, img): ...原创 2020-07-22 20:00:28 · 174 阅读 · 0 评论 -
形态学转换
形态学转换文章目录1.腐蚀2.膨胀3.开运算4.闭运算5.形态学梯度6.礼帽7.黑帽8.结构化元素形态学操作时根据图像形状进行的简单操作。对 二值化 图像进行的操作准备工作:import cv2import numpy as npimport matplotlib.pyplot as plt# 显示函数def cv_show(name, img): cv2.imshow(name, img) cv2.wait...原创 2020-07-22 18:19:44 · 269 阅读 · 0 评论 -
图像平滑
图像平滑文章目录1.2D卷积2.平均3.方框滤波4.高斯模糊5.中值模糊6.双边滤波7.图像平滑处理对比准备工作:使用低通滤波器可以达到图像模糊的目的。这对去除噪音很有帮助。其实就是去除图像中的高频成分(噪音,边界)import cv2import numpy as npimport matplotlib.pyplot as plt# 显示函数def cv_show(name, img): cv2.imshow(n...原创 2020-07-22 17:12:39 · 403 阅读 · 0 评论 -
图像阈值
图像阈值文章目录1.简单阈值2.自适应阈值3.Otsu‘s 二值化准备工作:import cv2import numpy as npimport matplotlib.pyplot as plt# 显示函数def cv_show(name, img): cv2.imshow(name, img) cv2.waitKey(0) cv2.destroyAllWindows()img =...原创 2020-07-22 16:48:49 · 249 阅读 · 0 评论 -
几何变换
几何变换文章目录1.扩展缩放2.旋转3.仿射变换4.透视变换准备工作:import cv2import numpy as npimport matplotlib.pyplot as plt# 显示函数def cv_show(name, img): cv2.imshow(name, img) cv2.waitKey(0) cv2.destroyAllWindows()img = cv2.imrea...原创 2020-07-22 16:42:19 · 95 阅读 · 0 评论 -
颜色空间转换
颜色空间转换文章目录1.转换颜色空间2.物体跟踪3.获取HSV的颜色值准备工作:import cv2import numpy as npimport matplotlib.pyplot as plt# 显示函数def cv_show(name, img): cv2.imshow(name, img) cv2.waitKey(0) cv2.destroyAllWindows()img = cv2.imread('c...原创 2020-07-22 16:34:21 · 158 阅读 · 0 评论 -
图像的基础操作
图像的基础操作目录1.获取和修改像素值2.获取图像的属性3.图像ROI(选取部分)4.拆分及合并图像通道5.为图像扩边(填充)6.图像的加法7.图像的融合8.按位运算9.CV2获取时间准备工作:import cv2import numpy as npimport matplotlib.pyplot as plt# 显示函数def cv_show(name, img): cv2.imshow(name, im...原创 2020-07-21 20:13:10 · 224 阅读 · 0 评论 -
绘制图形函数
先做准备工作:import cv2import numpy as npimport matplotlib.pyplot as plt# 显示函数def cv_show(name, img): cv2.imshow('name', img) cv2.waitKey(0) cv2.destroyAllWindows()再创建一个黑色的图片:# 创建一个黑色的照片'''numpy.zeros(shape, dtype=float, order=’C’)创建0矩阵原创 2020-07-21 10:34:16 · 1406 阅读 · 0 评论 -
导入图片和视频
导入图片和视频目录1.导入并显示图片2.保存图片3.读取视频文件4.摄像头获取视频5.保存视频:1.导入并显示图片cv2.imread()第一个参数是要导入的图像的路径,第二个参数是读取的是彩色图还是灰度图。cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数cv2.IMREAD_GRAYSCALE:以灰度模式读入图像2.显示图片cv2.imshow()第一个参数是窗口的名字,第二个参数是要显示的图片cv2.waitKey()是一个...原创 2020-07-20 21:51:38 · 827 阅读 · 0 评论