// // // //

随笔分类 -  AI图像处理

 
OpenCV4【21】拉普拉斯算子 进行 模糊检测
摘要:原理简介 让图像的单一通道(大概灰度)和以下3 x 3的内核进行卷积 然后取相应的方差。 如果方差低于预先定义的阈值,则认为图像模糊;否则,图像不会模糊。 这种方法有效的原因是由于Laplacian算子本身的定义,它用于测量图像的二阶导数。 拉普拉斯算子突出显示图像中包含快速梯度变化的区域,很像So 阅读全文
posted @ 2021-11-23 15:52 努力的孔子 阅读(1023) 评论(0) 推荐(0) 编辑
OpenCV4【18】-DNN 之 人体姿态评估
摘要:首先需要下载人体姿态评估的预训练模型。 基于COCO数据集训练的模型下载地址:http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/coco/pose_iter_440000.caffemodel 基于MPI数据集训练的模型下载地址:ht 阅读全文
posted @ 2021-11-23 15:40 努力的孔子 阅读(158) 评论(0) 推荐(1) 编辑
OpenCV4【16】-DNN 模块
摘要:简介 随着计算机视觉的流行,opencv 也专门开发了 dnn 模块来实现 深度神经网络相关 的功能; 虽然 opencv 无法训练模型,但它支持 载入其他 深度学习框架训练好的模型,并使用该模型进行预测 inference; 而且 opencv 在载入模型时会使用 dnn 模块对模型进行重写,使得 阅读全文
posted @ 2021-11-22 11:39 努力的孔子 阅读(1879) 评论(0) 推荐(0) 编辑
OpenCV4【17】-DNN 之 yolov3 目标检测
摘要:首先下载网络配置文件、权重文件、label文件 wget https://pjreddie.com/media/files/yolov3.weights wget https://github.com/pjreddie/darknet/blob/master/cfg/yolov3.cfg wget 阅读全文
posted @ 2021-11-22 11:39 努力的孔子 阅读(241) 评论(0) 推荐(0) 编辑
OpenCV4【15】-霍夫变换
摘要:在图像处理中,霍夫变换可以用来检测 各种形状,如 直线、圆、椭圆 等 霍夫空间 在笛卡尔坐标系下,一条直线可以表示为 y=kx+b,两点可以确定一条直线; 如果把表达式改为 b=-kx+y,则转换到了 霍夫空间,该空间 横坐标是 k,纵坐标是 b,可以看到 一组 (k,b) 就可以确定一条直线; 即 阅读全文
posted @ 2021-11-22 11:38 努力的孔子 阅读(346) 评论(0) 推荐(0) 编辑
OpenCV4【11】-图像梯度
摘要:图像梯度 在模糊的图像中,物体的轮廓不明显,轮廓边缘灰度变化不明显,导致层次感不强; 而清晰的图像中,物体的轮廓很清晰,轮廓边缘灰度变换明显,层次感强; 这种变化明显与否可以用 导数或梯度 来衡量,实际上可以用 灰度变化率 来计算; 如下图 如果相邻像素相同,灰度变化率为0,没有梯度; 如果相邻像素 阅读全文
posted @ 2021-11-08 21:36 努力的孔子 阅读(328) 评论(0) 推荐(0) 编辑
OpenCV4【14】-实例 提取特定区域
摘要:源图像 目标是 提取 四个 大圈圈 ; 具体项目描述见 参考资料 实现过程 import cv2 as cv import numpy as np img0 = cv.imread('imgs/640.webp') ########### 预处理 img = cv.cvtColor(img0, cv 阅读全文
posted @ 2021-11-08 21:35 努力的孔子 阅读(482) 评论(0) 推荐(0) 编辑
OpenCV4【13】-轮廓检测与属性
摘要:轮廓可以简单理解成 具有相同颜色或灰度的 连续的点 连成的曲线; 轮廓在形状分析、物体检测、物体识别 中很有用; 注意: 1.为了准确,需要使用 二值化 图像,故需进行 阈值化处理 或 canny 边缘检测 2.opencv 中与轮廓相关的函数 会改变原始图像 轮廓检测与绘制 def findCon 阅读全文
posted @ 2021-11-08 21:35 努力的孔子 阅读(276) 评论(0) 推荐(0) 编辑
OpenCV4【12】-边缘检测
摘要:Canny 边缘检测 Canny 边缘检测是一种被广泛应用的算法,效果较好 原理 详见 参考资料1 没搞懂,先记下来,空了研究吧 该方法使用了比高斯差分算法更复杂的技巧,如多向灰度梯度和滞后阈值化。 Canny边缘检测器算法基本步骤: 平滑图像:通过使用合适的模糊半径执行高斯模糊来减少图像内的噪声。 阅读全文
posted @ 2021-11-08 21:35 努力的孔子 阅读(126) 评论(0) 推荐(0) 编辑
OpenCV4【10】-直方图均衡化
摘要:图像直方图 图像直方图 是 图像的 一种统计特征,可以图像质量检测,也可以用于 图像相似度检测; 图像直方图的形态 可以反应图像的 质量,特别是 对比度,大致如下图 通过 直方图修整 可以提升图像质量,直方图修整 可以分为两类,一是 直方图均衡化,二是 直方图规定化,本文主要讲 均衡化 直方图均衡化 阅读全文
posted @ 2021-10-31 09:50 努力的孔子 阅读(1445) 评论(0) 推荐(0) 编辑
OpenCV4【9】-图像形态学处理
摘要:形态学处理 主要针对 有残缺图像、有斑点图像,不同区域有粘连的图像,使其变得丰满,或者去除多余的像素,也有类似去噪的作用; 形态学处理 的方法有 腐蚀、膨胀、开运算、闭运算、顶帽、底帽、形态学梯度; 形态学处理 通常针对 灰度图,确切的说是二值图,最好是 黑底 白景 腐蚀 腐蚀逻辑:和滤波一样,也存 阅读全文
posted @ 2021-10-18 09:30 努力的孔子 阅读(149) 评论(0) 推荐(0) 编辑
OpenCV4【8】- 图像阈值即二值化
摘要:图像阈值,即图像二值化,包括 简单阈值 自适应阈值 Otsu 阈值 局部阈值 全局阈值 熵算法 等多种方式,本文收集整理一下 简单阈值 对所有像素使用 统一固定 的阈值 def threshold(src, thresh, maxval, type, dst=None): src:单通道图像,通常是 阅读全文
posted @ 2021-10-12 14:29 努力的孔子 阅读(295) 评论(0) 推荐(0) 编辑
OpenCV4【7】-图像几何变换
摘要:图像几何变换 分为 缩放、平移、旋转、仿射变换、透视变换 等; 其思路大致相同:在 原图像上 找几个点的坐标,然后设定 变换后 这些点对应的 坐标,根据两组坐标 计算出一个 转换矩阵,把原图像所有点 按这个转换矩阵进行转换即可 缩放 缩放只是调整图像的大小; 其转换矩阵为 def resize(sr 阅读全文
posted @ 2021-10-12 08:44 努力的孔子 阅读(345) 评论(0) 推荐(0) 编辑
OpenCV4【6】-颜色空间
摘要:opencv 中有几百种颜色空间,可通过如下方式获取; flags = [i for i in dir(cv) if i.startswith('COLOR')] print(len(flags)) # 296 种 其中最常用的是 gray 和 hsv 空间; 颜色空间转换 opencv 直接读取图 阅读全文
posted @ 2021-10-11 09:55 努力的孔子 阅读(163) 评论(0) 推荐(0) 编辑
OpenCV4【5】-图像基本运算
摘要:图像运算有很多种,包括 加法、减法、乘法、除法、位运算、平方根、对数、绝对值等; 加减乘除等 需保持 图像 shape 和 dtype 一致,或者第二个图像是个标量值; dst = cv.add(src1, src2[, dst[, mask[, dtype]]]) dst = cv2.subtra 阅读全文
posted @ 2021-10-09 14:51 努力的孔子 阅读(297) 评论(0) 推荐(0) 编辑
OpenCV4【4】- 图像基本操作
摘要:图像基本操作很多,这里做个汇总 首先要注意,opencv 中像素通道顺序为 BGR,与我们常说的 RGB 刚好相反。 首先准备一张图片,可创建新图像,也可读取已存在的图像 img = np.zeros(shape=(300, 300, 3), dtype=np.uint8) cv.namedWind 阅读全文
posted @ 2021-10-09 14:49 努力的孔子 阅读(58) 评论(0) 推荐(0) 编辑
OpenCV4【3】- GUI特性:轨迹栏作为调色板
摘要:操作步骤: 1. cv2.createTrackbar 创建 rgb 轨迹栏 2. cv2.getTrackbarPos 获取 轨迹栏位置 3. 给图片着色 import numpy as np import cv2 as cv def nothing(x): pass # 创建一个黑色的图像,一个 阅读全文
posted @ 2021-10-08 09:25 努力的孔子 阅读(64) 评论(0) 推荐(0) 编辑
OpenCV4 【2】- GUI特性 :绘图功能 与 鼠标事件
摘要:绘图功能 使用 opencv 绘制各种形状,简单用法示例 import cv2 as cv import numpy as np img = np.random.randint(0, 255, size=(1280, 1280, 3)).astype(np.uint8) ### 画线 ## def 阅读全文
posted @ 2021-10-08 09:23 努力的孔子 阅读(129) 评论(0) 推荐(0) 编辑

 

点击右上角即可分享
微信分享提示