图像处理
文章平均质量分 86
T1.Faker
此人很懒,什么都没有写
展开
-
神经网络压缩图像
典型的压缩管道由四个组件组成:编码:输入图像x通过编码器函数ε,将其转换为潜在表示z。量化:截断z以丢弃一些不重要的信息熵编码:使用某种形式的熵编码(例如:算术编码)来无损地存储截断的潜在z解码:原始x被重构为通过使用z通过解码器函数D获得x需要注意的是,压缩失真主要是由量化步骤造成的——编码器可以是一个双射函数。我们根据某种失真度量来衡量原始图像与重构图像之间的接近程度,其中常见的选择是平方误差ddxx∣∣x−x∣∣22。原创 2024-04-16 11:08:56 · 1800 阅读 · 0 评论 -
Colorful Image Colorization灰度图像上色
作者的目标是将灰度输入通道XXXX∈RH×W×1X∈RH×W×1映射到关联的两个颜色通道YYY,即YFXYFX。Y∈RH×W×2Y∈RH×W×2为了实现这一任务,作者采用CIE Lab色彩空间,并使用欧氏损失函数来度量预测颜色和真实颜色之间的距离。然而,由于颜色上色问题具有固有的多模态性和歧义性,欧氏损失函数不够鲁棒,容易产生灰暗和褪色的结果。原创 2023-11-02 10:30:46 · 323 阅读 · 0 评论 -
数据增强方法汇总
例如,对于涉及房屋号码街景(SVHN)的图像,包括数字的自然场景图像,AutoAugment专注于剪切和平移等几何变换,这些变换代表了该数据集中常见的失真。它利用贝叶斯优化来发现您的图像数据集的特点,并量身定制的数据增强策略。augly.image所有函数都接受要作为输入增强的图像或PIL图像对象的路径,并返回增强的PIL图像对象。Sample是通过样本配对的方法实现数据增强,顾名思义使用几张样本图像,进行图像组合融合来实现数据增强的功能。接下来,使用SMOTE对少数类进行过采样,并绘制转换后的数据集。原创 2022-11-18 16:29:32 · 2544 阅读 · 0 评论 -
计算机视觉 - Attention机制(附代码)
Attention机制1.Attention简介2.Attention原理3.Attention的不同类型4.CBAM实现(Pytorch)1.Attention简介Attention中文意思为注意力,这个机制放到计算机视觉里,类似于给我们看一张美女帅哥的图片,我们第一眼首先关注的地方是这个人的哪里呢😏你们第一眼看的是哪里呢😏最早attention机制就应用到计算机视觉中,这里说的机制,其实就是神经网络中一个模块,类似于U-Net加上attention机制的变化。看出什么变化了吗,其实就是在原创 2021-11-29 16:54:13 · 7565 阅读 · 2 评论 -
计算机视觉 文本检测与文本识别 (一)
文本检测传统文本检测形态学:MSER+NMS深度学习文本检测分类基于候选框的文本检测基于分割的文本检测基于混合的文本检测传统文本检测当前应用中面对文本检测会遇到很多难点:文本图像的背景多样化,很多背景可能像素情况与文本结构相似文本的形状和方向多样化,可能图像中文本的摆放方向是倾斜的,横向的文本的颜色,字体多样化图像中受光照等环境因素影响由于这些检测上的难点,传统基于opencv通过形态学、MSER+NMS的方法无法实现实际场景的文本检测。因此对于复杂场景下文本检测大多基于深度学习算法实现。原创 2021-08-16 10:34:01 · 1285 阅读 · 0 评论 -
计算机视觉 - 图像相似度
在计算机视觉中如何识别两张图片是否相似,可以通过图像的像素值,根据颜色特征来识别是否为相似图片计算图片的相似度方法1.像素方差1.1缩放图片1.2灰度处理1.3计算图像每行的平均值1.4计算方差1.5比较方差2.哈希值计算2.1平均值哈希2.1.1图片缩放成8*82.1.2灰度化图像G2.1.3计算整个灰度图像的像素平均值avg2.1.4计算hash图像H2.2感知哈希2.2.1图片缩放32*322.2.2灰度化图像G1G_{1}G12.2.3计算得到图像G的离散余弦变换的图像G2G_{2}G22.2原创 2021-08-11 14:16:57 · 1122 阅读 · 0 评论 -
计算机视觉PyTorch迁移学习 - (二)
图像迁移学习3.PyTorch实现迁移学习3.1数据集预处理3.2构建模型3.3模型训练与验证3.PyTorch实现迁移学习文件目录3.1数据集预处理这里实现一个蚂蚁与蜜蜂的图像分类,用到的数据集data下载dataset.pyfrom torchvision import datasets, transformsimport torchtrain=transforms.Compose([ transforms.RandomResizedCrop(224), # 随机裁剪一个a原创 2021-08-09 15:37:31 · 1004 阅读 · 1 评论 -
计算机视觉PyTorch迁移学习 - (一)
如何在只有6万张图像的MNIST训练数据集上训练模型。学术界当下使用最广泛的大规模图像数据集ImageNet,它有超过1,000万的图像和1,000类的物体。然而,我们平常接触到数据集的规模通常在这两者之间。假设我们想从图像中识别出不同种类的椅子,然后将购买链接推荐给用户。一种可能的方法是先找出100种常见的椅子,为每种椅子拍摄1,000张不同角度的图像,然后在收集到的图像数据集上训练一个分类模型。另外一种解决办法是应用迁移学习(transfer learning),将从源数据集学到的知识迁移到目标数据集上原创 2021-08-09 12:08:04 · 780 阅读 · 0 评论 -
计算机视觉图像常用基本算法(阈值化、形态学变化、模糊)
在日常的做图像深度学习的时候,通常在拿到图像的时候也会像做机器学习算法应用一样,对数据进行预处理,我们也需要对图像进行一些预处理,目的也是为了去除数据中的噪声,去除在图像中没有用的像素这里介绍三种基于opencv封装下的算法:阈值化简单阈值化自适应阈值化OTSU阈值化算法对应应用场景形态学变化腐蚀膨胀开运算闭运算模糊(平滑)均值模糊高斯模糊中值模糊阈值化大白话说就是给定图像一个像素值作为阈值,将图像中所有像素与这个像素阈值比较,如果大于或者小于这个阈值,就会将图像中这个像素改变会特定的像素值。简单阈原创 2021-08-05 16:26:10 · 2182 阅读 · 0 评论 -
计算机视觉PyTorch - 数据处理(库数据和训练自己的数据)
pytorch实现图像分类数据处理1. pytorch库自带数据数据预处理数据生成数据加载2. 训练自己的数据生成数据集数据预处理数据加载1. pytorch库自带数据为了更好的理解,这里以CIFAR10数据集作为训练和测试数据集。我们将使用CIFAR10数据集,它包含十个类别:[‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’]。CIFAR-10 中的图像尺寸为3x32原创 2021-08-04 16:56:40 · 1614 阅读 · 2 评论 -
计算机视觉PyTorch实现图像着色 - (二)
1.图像着色算法原理图像着色,通俗讲就是对黑白的照片进行处理,生成为彩色的图像。有点像买的图框画,自己用颜料在图框中进行填色。算法原理上用到了上一节讲到的Lab颜色空间,具体模型架构如下图所示:1.1 模型架构这里我把模型分为三个部分,对这三部分进行详细解释。第一部分第一部分实际是一个典型的VGG16模型,只不过去掉了VGG16后面池化层部分,在后面加上如下表的卷积层卷积层通道数卷积核步长填充padding备注Conv7_15123x311卷积后进行Re原创 2021-08-03 15:12:51 · 2860 阅读 · 2 评论 -
计算机视觉PyTorch实现图像着色 - (一)
在介绍图像着色原理之前,先介绍一下opencv的颜色空间目前基于opencv实现图像原理中定义的颜色空间分为三种:RGBRGB就是常说的光学三原色,R代表Red(红色),G代表Green(绿色),B代表Blue(蓝色),取值范围在[0,255]。自然界中肉眼所能看到的任何色彩都可以由这三种色彩混合叠加而成,因此也称为加色模式。import cv2import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Arial Un原创 2021-08-03 11:35:35 · 1619 阅读 · 0 评论 -
python opencv 图像处理 (十)
Roberts算子、Prewitt算子、Sobel算子、Laplacian算子边缘检测技术Roberts算子Roberts 算子,又称罗伯茨算子,是一种最简单的算子,是一种利用局部差分算子寻找边缘的算子。他采用对角线方向相邻两象素之差近似梯度幅值检测边缘。检测垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感,无法抑制噪声的影响。1963年, Roberts 提出了这种寻找边缘的算子。 Roberts 边缘算子是一个 2×2 的模版,采用的是对角方向相邻的两个像素之差。Roberts 算子的模板分为原创 2021-07-25 23:08:59 · 1154 阅读 · 4 评论 -
python opencv 图像处理(九)
图像腐蚀与图像膨胀图像的腐蚀( Erosion )和膨胀( Dilation )是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域。又出来新名词了:形态学。简单来讲,图像形态学就是改变图像的形状,举例对于文字数字图像,将文字数字的线条变细或变粗。图像形态学一些基本的运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度等等。其中图像的膨胀和腐蚀是最基础的图像形态学操作原创 2021-07-21 11:52:07 · 392 阅读 · 2 评论 -
python opencv 图像处理(八)
图像金字塔图像金字塔是一组图像的集合,集合中的所有图像都是通过对某一图像连续降采样得到的一组图像序列。cv2.pyrUp: 上采样cv2.pyrDown: 下采样有两种经典的金字塔:高斯金字塔和拉普拉斯金字塔,前者采用向下采样,后者是向上采样需要的缺失的信息。向下采样(生成高斯金字塔)的具体操作为: 从大到小 1. 对图像进行高斯卷积 2. 删除所有的偶数行和偶数列向上采样的缺失信息(生成拉普拉斯金字塔)的具体操作为:从小到大 1. 首先将维数扩大两倍 2.原创 2021-07-14 10:51:50 · 255 阅读 · 0 评论 -
python opencv 图像处理进阶篇(二)
边缘检测普通边缘检测opencv提供许多边缘检测滤波函数,这些函数都会将非边缘区域转为黑色,将边缘区域转为白色或其他饱和颜色,但是这些函数容易将噪声错误识别为边缘。缓解这个问题首先对图像进行模糊处理。python实现方法如下:import cv2def edges(src,blurKsize=7,edgeKsize=5): if blurKsize >=3: src=cv2.imread(src) cv2.imshow('data',src)原创 2021-07-14 00:01:49 · 1403 阅读 · 9 评论 -
python opencv图像处理(七)
图像平滑(滤波)处理这里先介绍一下图像的一些问题每一幅图像都包含某种程度的噪声,噪声可以理解为由一种或者多种原因造成的灰度值的随机变化,如由光子通量的随机性造成的噪声等等。而图像平滑技术或者是图像滤波技术就是用来处理图像上的噪声,其中,能够具备边缘保持作用的图像平滑处理,成为了大家关注的重点。本文会介绍 OpenCV 中提供的图像平滑的 4 个算法:均值滤波方框滤波高斯滤波中值滤波先给之前的小姐姐做一个噪声处理吧代码如下:import cv2 as cvimport numpy原创 2021-07-07 15:57:25 · 217 阅读 · 0 评论 -
python opencv图像处理算法之GrabCut算法
GrabCut算法通常情况下,我们需要图像进行前景后景进行分离,有的时候也许我们仅仅是需要前景。本次教程我们将介绍GrabCut算法进行交互式前景提取。GrabCut是一种基于图切割的图像分割方法。GrabCut算法是基于Graph Cut算法的改进。基于要被分割对象的指定边界框开始,使用高斯混合模型估计被分割对象和背景的颜色分布(注意,这里将图像分为被分割对象和背景两部分)。简而言之,就是只需确认前景和背景输入,该算法就可以完成前景和背景的最优分割。该算法利用图像中纹理(颜色)信息和边界(反差)信原创 2021-07-07 10:38:06 · 2718 阅读 · 0 评论 -
python opencv 图像处理(六)
图像的阈值处理图像的阈值图像的阈值处理用大白话讲就是将图像转化为二值图像(黑白图),目的是用来提取图像中的目标物体,将背景和噪声区分开(可以近似的认为除了目标全是噪声)。通常会设定一个阈值 T ,通过 T 将图像的像素划分为两类:大于 T 的像素群和小于 T 的像素群。首先可以先将图像转化为灰度图像,因为在灰度图像中,每个像素都只有一个灰度值用来表示当前像素的亮度。接下来二值化处理可以将图像中的像素划分为两类颜色,一种是大于阈值 T 的,另一种是小于阈值 T 的。比如最常见的二值图像:当灰度值原创 2021-06-30 19:13:31 · 1598 阅读 · 23 评论 -
python opencv图像处理(五)
图像几何变换图像缩放图像缩放只是调整图像的大小,为此, OpenCV 为我们提供了一个函数 cv.resize() ,原函数如下:resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)src 表示的是输入图像,而 dsize 代表的是输出图像的大小,如果为 0 ,则:dsize=Size(round(fxsrc.cols),round(fysrc.rows))dsize 和 fx 、 fy 不能同时为 0 。fx原创 2021-06-25 21:44:23 · 335 阅读 · 2 评论 -
python opencv 图像处理进阶篇(一)
色彩空间变换与边缘、轮廓检测在计算机视觉中有三种常用的色彩空间:灰度色彩空间:除去彩色信息,将其图像转换成灰阶,常用于人脸检测BGR色彩空间:蓝-绿-红色彩空间,每个像素点由一个三元数组表示,数组中每个值代表一个颜色的HSV色彩空间:H(色调),S(饱和度),V(黑暗程度或明亮程度),常用于做图像颜色判定1.傅里叶变换这里引入一个概念:把图像中的像素看成是由不同频率的波(声波)组成,那整个图像就是由不同波叠加得到的。通过波的信号变化强度可以知道图像像素的变化强度(通过像素值乘以卷积核观察像原创 2021-06-25 13:27:50 · 400 阅读 · 1 评论 -
python opencv 图像处理(四)
图像算数运算以及修改颜色空间1.图像加法图像加法有两种方式,一种是通过 Numpy 直接对两个图像进行相加,另一种是通过 OpenCV 的 add() 函数进行相加。不管使用哪种方法,相加的两个图像必须具有相同的深度和类型,简单理解就是图像的大小和类型必须一致。1.1Numpy加法Numpy 的运算方法是: img = img1 + img2 ,然后再对最终的运算结果取模。当最终的像素值 <= 255 时,则运算结果直接为 img1 + img2 。当最终的像素值 > 255 时原创 2021-06-24 17:22:54 · 243 阅读 · 1 评论 -
python opencv图像处理(三)
图像属性、图像感兴趣ROI区域及通道处理1.图像属性1.1形状:shape图像的形状可以通过 shape 关键字进行获取,使用 shape 关键的后,获取的信息包括行数、列数、通道数的元祖。需要注意的是,如果是灰度图片,只会返回图像的行数和列数,而彩色图片才会图像的行数、列数和通道数。实例如下:import cv2 as cv# 读取彩色图片color_img = cv.imread("data.jpg", cv.IMREAD_ANYCOLOR)print(color_img.shap原创 2021-06-23 22:56:51 · 1478 阅读 · 9 评论 -
python opencv图像处理(二)
像素处理与Numpy操作以及Matplotlib显示图像1.普通操作1.1读取像素读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B、G、R三个分量。需要注意的是, OpenCV 读取图像是 BGR 存储显示。灰度图片读取操作:import cv2 as cv# 灰度图像读取gray_img = cv.imread("maliao.jpg", cv.IMREAD_GRAYSCALE)print(gray_img[20, 30])# 显示图片cv.im原创 2021-06-23 17:06:25 · 298 阅读 · 0 评论 -
python opencv图像处理(一)
图像处理入门图像都是由像素(pixel)构成的,每个像素对应一个颜色值,如下图这些小方格每一个都有自己明确的位置和被分配的色彩值,而这些小方格的颜色和位置就决定了这个图像所呈现出来的样子。像素是图像中最小的单位,每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。图像通常包括有 二值图像 、 灰度图像 和 彩色图像二值图像二值图像就是在图像中,任何一个点非黑即白,像素要么为 255 (白色) 要么为 0 (黑色) 。转换的时候一般将像素 >=127 的设置为白色,其余原创 2021-06-23 14:29:58 · 382 阅读 · 0 评论 -
python 图像处理(一)
图像识别原理原创 2021-06-22 21:52:39 · 2806 阅读 · 0 评论