OpenCV
文章平均质量分 76
林光虚霁晓
项目质量不好,使程序员的耻辱!
展开
-
【OpenCV-直方图与傅里叶变换】图像的基本变换、傅里叶变换、直方图
我们生活在时间的世界中,早上7:00起来吃早饭,8:00去挤地铁,9:00开始上班。opencv中主要就是cv2.dft()和cv2.idft(),输入图像需要先转换成np.float32 格式。cv2.dft()返回的结果是双通道的(实部,虚部),通常还需要转换成图像格式才能展示(0,255)。得到的结果中频率为0的部分会在左上角,通常要转换到中心位置,可以通过shift变换来实现。高通滤波器:只保留高频,会使得图像细节增强。低频:变化缓慢的灰度分量,例如一片大海。高频:变化剧烈的灰度分量,例如边界。原创 2024-09-09 18:00:06 · 1363 阅读 · 0 评论 -
【OpenCV-图像金字塔与轮廓检测】图像金字塔与轮廓检测(缩小、放大)、拉普拉斯金字塔、图像轮廓(绘制轮廓、轮廓特征、轮廓近似、边界矩形、外接圆)、模板匹配-匹配多个对象
模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与(图像被模板覆盖的地方) 的差别程度,这个差别程度的计算方法在opencv里有6种, 然后将每次计算的结果放入一个矩阵里, 作为输出结果。假如原图形是AxB大小,而模板是axb大小,则输出结果的矩阵是(A-a+1)x(B-b+1)模板匹配(Template Matching)是一种在图像中查找模板图像位置的方法。method:轮廓逼近方法。mode:轮廓检索模式。原创 2024-09-09 17:31:42 · 551 阅读 · 0 评论 -
【OpenCV-边缘检测】高斯滤波器、梯度和方向、非极大值抑制、双阈值检测
【代码】【OpenCV-边缘检测】高斯滤波器、梯度和方向、非极大值抑制、双阈值检测。原创 2024-09-09 17:11:49 · 329 阅读 · 0 评论 -
【OpenCV-图像梯度】Scharr算子和laplacian算子
白到黑是正数,黑到白就是负数了,所有的负数会被截断成0,所以要取绝对值分别计算x和y,再求和。原创 2024-09-09 17:05:00 · 442 阅读 · 0 评论 -
【OpenCV-图像形态学操作】礼帽与黑帽、梯度运算、开运算与闭运算、形态学-膨胀操作、形态学-腐蚀操作
【代码】【OpenCV-图像形态学操作】礼帽与黑帽、梯度运算、开运算与闭运算、形态学-膨胀操作、形态学-腐蚀操作。原创 2024-09-09 16:54:45 · 435 阅读 · 0 评论 -
【OpenCV-阈值与平滑处理】灰度图、HSV、图像阈值、图像平滑处理(方框滤波、均值滤波、高斯滤波、中值滤波)
type:二值化操作的类型,包含以下5种类型: cv2.THRESH_BINARY;cv2.THRESH_BINARY 超过阈值部分取maxval(最大值),否则取0。cv2.THRESH_TRUNC 大于阈值部分设为阈值,否则不变。cv2.THRESH_BINARY_INV THRESH_BINARY的反转。cv2.THRESH_TOZERO_INV THRESH_TOZERO的反转。thresh: 阈值。原创 2024-09-09 16:34:33 · 780 阅读 · 0 评论 -
【OpenCV-图像处理】数据读取-视频、截取部分图像、颜色通道提取-将多个单通道图像(如 B、G、R)合并为一个多通道图像、边界填充-扩展效果、数值计算、图像融合-按权重合并两张图像
【代码】【OpenCV01】数据读取-视频、截取部分图像、颜色通道提取-将多个单通道图像(如 B、G、R)合并为一个多通道图像、边界填充-扩展效果、数值计算、图像融合-按权重合并两张图像。原创 2024-09-09 16:22:43 · 258 阅读 · 0 评论 -
【OpenCV4】滤波器、图片卷积、步长、padding、卷积核的大小、方盒滤波与均值滤波、高斯滤波、中值滤波、双边滤波、边缘检测Canny(重要)、索贝尔算子、沙尔算子、 拉普拉斯算子
双边滤波本质上是高斯滤波, 双边滤波和高斯滤波不同的就是:双边滤波既利用了位置信息又利用了像素信息来定义滤波窗口的权重。双边滤波中加入了对灰度信息的权重,即在邻域内,灰度值越接近中心点灰度值的点的权重更大,灰度值相差大的点权重越小。高斯滤波就是使用符合高斯分布的卷积核对图片进行卷积操作. 所以高斯滤波的重点就是如何计算符合高斯分布的卷积核, 即高斯模板.双边滤波对于图像的边缘信息能过更好的保存。高斯滤波的核心思想是让临近的像素具有更高的重要度. 对周围像素计算加权平均值, 较近的像素具有较大的权重值.原创 2024-09-07 21:39:11 · 1235 阅读 · 0 评论 -
【OpenCV3】图像的翻转、图像的旋转、仿射变换之图像平移、仿射变换之获取变换矩阵、透视变换
getAffineTransform(src[], dst[]) 通过三点可以确定变换后的位置, 相当于解方程, 3个点对应三个方程, 能解出偏移的参数和旋转的角度.仿射变换是图像旋转, 缩放, 平移的总称.具体的做法是通过一个矩阵和和原图片坐标进行计算, 得到新的坐标, 完成变换. 所以关键就是这个矩阵.getPerspectiveTransform(src, dst) 获取透视变换的变换矩阵, 需要4个点, 即图片的4个角.仿射变换的难点就是计算变换矩阵, OpenCV提供了计算变换矩阵的API。原创 2024-09-07 18:57:33 · 1283 阅读 · 0 评论 -
【OpenCV2.1】基础知识和绘制图形、OpenCV的色彩空间转换、RGB和BGR、HSV, HSL和YUV、mat(深浅拷贝、访问图像属性、通道的分离与合并、绘制图形)
Mat是OpenCV在C++语言中用来表示图像数据的一种数据结构.在python中转化为numpy的ndarray.Mat由header和data组成, header中记录了图片的维数, 大小, 数据类型等数据.原创 2024-09-07 13:08:50 · 863 阅读 · 0 评论 -
【OpenCV2.2】图像的算术与位运算(图像的加法运算、图像的减法运算、图像的融合)、OpenCV的位运算(非操作、与运算、或和异或)
图片的融合操作相当于对图片进行线性运算 w1* x1 + w2 * x2 + b. 其中alpha是第一个权重参数, beta是第二个权重参数, gamma是偏差.bitwise_and(img1, img2) 与运算, 图片对应位置元素进行与操作. 表现出来的效果就是黑和黑与还是黑, 白和白与还是白.图片就是矩阵, 图片的加法运算就是矩阵的加法运算, 这就要求加法运算的两张图shape必须是相同的.bitwise_xor 异或运算 对应元素做异或运算。bitwise_or 或运算 对应元素做或运算。原创 2024-09-07 12:24:44 · 1149 阅读 · 0 评论 -
【OpenCV1】虚拟环境的使用、opencv的使用、图像和视频的创建和显示、创建和显示窗口、加载显示图片、保存图片、视频采集、视频录制、控制鼠标、Trackbar控件
现在说的机器视觉(Machine Vision)一般指计算机视觉(Computer Vision), 简单来说就是研究如何使机器看懂东西.就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。- Gray Bradsky于1999年开发, 2000年发布- 跨平台(Windows, Linux, Mac...)为什么选择python语言:- python语言简单, 开发速度快。原创 2024-09-06 17:46:16 · 1024 阅读 · 0 评论