
图像处理
hzhj
写作不只为了传播,更重要的是思考和学习。
展开
-
nvidia dali读数据测试程序
''' python test_dali.py -d data/ -b 64 -t 4 -d 数据地址 -b batchsize -t 读数据的线程数 ''' import argparse import nvidia.dali.ops as ops import nvidia.dali.types as types from nvidia.dali.pipeline import Pipeline from nvidia.dali.plugin.pytorch import DALIClassific.原创 2020-10-11 11:56:29 · 1626 阅读 · 0 评论 -
数据增强——非像素维度
图片来自这里 图片遮挡 原图处理 random-erase和cutout gridmask Random erase和CutOut方法类似,随机选择矩形区域,前者是随机填充矩形区域的像素值,后者是填充0值,代码见这里; Hide-and-seek和Grid mask方法类似,前者是随机采样矩形区域,后者是均匀采样矩形区域,均填充0像素值; 特征图处理 该部分更多的属于网络的正则化方法,yoloV4中将其归结为数据增...原创 2020-07-05 18:36:21 · 1033 阅读 · 0 评论 -
数据增强——像素维度的改变
传统的数据增强方法主要针对像素信息进行处理,主要从光度畸变和几何畸变两方面进行处理。 光度畸变:颜色空间、图片亮度、对比度、色调、饱和度、噪声等; 几何畸变:尺度缩放、裁剪、翻转、旋转等。 func keras ImageDataGenerator 类 对应的tf处理函数tf.keras.preprocessing.image.ImageDataGenerator 参考文献: yoloV4 图像预处理 ...原创 2020-07-05 15:07:51 · 947 阅读 · 0 评论 -
canny边缘检测
Canny边缘检测算法是1986提出的多阶段的边缘检测算法。 预处理 由于边缘易受噪声影响,所以对图像利用高斯滤波器来去除噪声。 , 其中,分别为滤波核范围内像素的均值和方差,另参数也可以直接在函数中指定。 计算梯度图 分别计算图像中像素点的梯度,获得当前图像的梯度大小和梯度方向两个对应的图。梯度方向垂直于图像边缘,为方便后续计算,将梯度方向量化为4条线:水平、垂直、及其两个对角(共8个方向的值); 图片来自这里 非极大值抑制NMS,类似检测算法中的后处理NMS。此处应用的对象为同一梯度方向上像素.原创 2020-06-21 17:05:52 · 333 阅读 · 0 评论 -
HOG特征
引言 HOG 全名为Histogram of Gragient,表示梯度方向直方图; 梯度,作为一个向量,包括大小(幅值)和方向(角度)两部分。图像中像素点的梯度分为水平梯度和垂直梯度两部分,两者共同组成了当前像素点的梯度; 图像中像素的梯度计算。如下图所示:gx=30-20=10, gy=64-32=32。A像素点的梯度计算如下: 图片来自这里 HOG计算 图片来自这里 角度转换 将有符号角度值转换为无符号角度值。通过公式计算的梯度角度变换范围为(),为方便梯度直方图中对角度使用无符号原创 2020-06-21 12:44:35 · 620 阅读 · 0 评论 -
bytes, cv2, Image数据
Q: 问题描述 A: 不同的数据加载方式,通过base64编码后,利用tornado请求算法服务时,返回结果不同。 现象 图片内存大小为96,518 字节,先看下不同加载方式获得的二进制流的大小 >>> import cv2 >>> from io import BytesIO #py3 >>> from PIL import Image >>> img_path='500_ChsEj17LW0eAWNZcAARjScabz3原创 2020-05-28 20:04:06 · 738 阅读 · 0 评论 -
图像处理中的白化处理
先看下wiki上关于whiten transformation的介绍,简言之就是:把具有协方差的变量转换为协方差为单位矩阵的变量,即转换后,变量间不相关,且方差为1。之所以称之为'whiten',是由于该处理将输入向量转换为白噪声向量。第二行是介绍3种和白化功能类似的处理:去相关变换、归一化变换和色彩变换。A whitening transformation or sphering tra...原创 2018-05-10 21:10:24 · 4478 阅读 · 0 评论 -
双线性插值及其在图像中的应用
本文旨在翻译维基百科中关于Bilinear interpolation的解释。 数学中,双线性插值是直线二维网格中关于两个变量(如x, y)的线性插值函数的扩展。 实现该方法的关键在于先从一个方向进行线性插值,然后对另一个方向执行相同操作。尽管上述两步操作在位置和样本点的值上都是线性的,但双线性插值在整个样本位置中不是线性的而是二次的。算法 假设已知函数f在四个点...翻译 2018-03-06 15:15:00 · 2463 阅读 · 2 评论