数字图像处理
还在学习中,姑且这么写吧,到哪天有一定的经验回过头来看时,再把它整合
滴滴da
SingleMind
展开
-
opencv入门—图片,视频,摄像头简单人脸检测
图片人脸检测:import cv2 as cvimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号# 加载图片,灰度图方式读取img = cv.imread('img/img31.jpg')gray = cv.cvtColor(img,cv.COLOR原创 2021-03-23 22:33:24 · 126 阅读 · 0 评论 -
opencv笔记—均值滤波,高斯滤波,中值滤波简单理解及应用
图像噪声:椒盐噪声(脉冲噪声):随机出现的噪声,成因可能是有影像信号受到突如其来的强烈干扰而产生,类比数位转换器或位元传输错误等。例如失效的感应器导致像素值为最小值,饱和的感应器导致像素值为最大值。高斯噪声:噪声密度函数服从高斯分布的一类噪声。由于高斯噪声在空间和频域中数学上的易处理性,这种噪声(也称为正态噪声)模型经常被用于实践中。高斯随机变量z的概率密度函数由下式给出:均值滤波:采用均值滤波模板对图像噪声进行滤除。令Sxy 表示中心在(x, y)点,尺寸为m×n 的矩形子图像窗口的坐标组。由原创 2021-03-21 12:10:34 · 535 阅读 · 0 评论 -
opencv笔记—开闭运算
写在前头:开运算和闭运算并不是相互可逆的。开运算:操作流程:开运算是先腐蚀后膨胀作用:分离物体,消除小区域。特点:消除噪点,去除小的干扰块,而不影响原来的图像闭运算:具体操作:是先膨胀后腐蚀作用:是消除/“闭合”物体里面的孔洞,特点:可以填充闭合区域方法调用:cv.morphologyEx(要处理的图像, cv.MORPH_OPEN/cv.MORPH_CLOSE,核结构 kernel)具体代码:import numpy as npimport cv2 as cvimpor原创 2021-03-18 22:25:42 · 313 阅读 · 0 评论 -
opencv笔记—图像腐蚀,膨胀
图像腐蚀:原图中高亮区域被蚕食,效果图拥有比原图更小的高亮区域。腐蚀是求局部最小值的操作。具体操作:用一个结构元素扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为1,则该像素为1,否则为0。方法调用:cv.erode(处理图像,核结构,腐蚀次数默认为1)图像膨胀:膨胀就是使图像中高亮部分扩张,效果图拥有比原图更大的高亮区域膨胀是求局部最大值的操作具体操作:用一个结构元素扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,原创 2021-03-18 21:41:26 · 248 阅读 · 0 评论 -
opencv笔记—图像金字塔
图像金字塔图像金字塔用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低且源于同一张原输图的集合,其通过梯次向下采样获得,直到达到某个终止条件才停止采样。图像金字塔的底部是待处理的高分辨率表示,而顶部是低分辨率的近似,层级越高,图像越小,分辨率越低。采样:up_img = cv.pyrUp(img) # 上采样down_img = cv.pyrDown(img) # 下采样实现代码:import numpy as npimport cv2 as c原创 2021-03-17 21:44:31 · 80 阅读 · 0 评论 -
opencv笔记—图像旋转简单实现
图像旋转:在opencv中首先根据旋转角度和中心获取旋转矩阵,然后根据旋转矩阵进行变换参数:实现代码:import numpy as npimport cv2 as cvimport matplotlib.pyplot as plt# 中文显示配置plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号# 载原创 2021-03-17 19:49:02 · 321 阅读 · 0 评论 -
opencv笔记—图像平移
图像平移:按照指定方向和距离,移动到相应位置格式:cv.warpAffine(img,M,dsize)参数:实现代码:import numpy as npimport cv2 as cvimport matplotlib.pyplot as plt# 中文显示配置plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False # 用来原创 2021-03-17 19:29:13 · 116 阅读 · 0 评论 -
opencv笔记—图像缩放
图像缩放:图像缩放即对图像的大小进行调整,即放大或者缩小cv2.resize(src,dsize,fx=0,fy=0,interpolation=cv2.INTER_LINEAR参数:实现代码:import cv2 as cvimport matplotlib.pyplot as plt# 中文显示配置plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus']原创 2021-03-17 19:12:15 · 238 阅读 · 0 评论 -
opencv笔记—图像通道分开与合并
图像通道分开与合并:有时需要在BGR通道图像上单独工作,在这种情况下,需要将BGR图像分为单个通道。import numpy as npimport cv2 as cvimport matplotlib.pyplot as plt# 中文显示配置plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号# 载入图片原创 2021-03-16 22:54:47 · 118 阅读 · 0 评论 -
opencv笔记—图片加法与混合简单操作
图片加法:cv相加:255 + 13 = 255np加法:255 + 13 = 12注意图片类型要一致import numpy as npimport cv2 as cvimport matplotlib.pyplot as plt# 中文显示配置plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号原创 2021-03-16 22:40:53 · 137 阅读 · 0 评论 -
opencv笔记—图像属性以及像素点修改
图像属性:shape: 图像形状size: 图像大小dtype:数据类型import numpy as npimport cv2 as cvimport matplotlib.pyplot as plt# 读取图像img1 = cv.imread("img/img1.jpeg")print(img1.shape) # 图像形状print(img1.size) # 图像大小print(img1.dtype) # 数据类型图像像素点修改:原创 2021-03-16 22:20:02 · 272 阅读 · 0 评论