IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Opencv学习之:将图片的值进行范围调整 cv2.normalize() -> 正文阅读

[人工智能]Opencv学习之:将图片的值进行范围调整 cv2.normalize()

cv2.normalize()

  • 指定将图片的值放缩到 0-255 之间
array = cv2.normalize(array,None,0,255,cv2.NORM_MINMAX)
  • cv2.NORM_MINMAX :使用的放缩方式是 min_max 的方式

  • 其对应的原理是:
    x ^ = x ? m i n m a x ? m i n ? ( m a x ′ ? m i n ′ ) + m i n ′ \hat{x} = \frac{x-min}{max-min} * (max^{'}-min^{'}) + min^{'} x^=max?minx?min??(max?min)+min

    • x ^ \hat{x} x^ 表示矩阵中任意一点归一化之后的值
    • x x x 表示矩阵中的所有原始值
    • m i n , m a x min,max min,max 分别代表矩阵中的最大值和最小值
    • m a x ′ , m i n ′ max^{'}, min^{'} max,min 分别表示放缩的目标范围中的最大和最小值
  • 例如当我们想把 0-255 值放缩到 0-1 之间,那么 m a x = 255 , m i n = 0 , m a x ′ = 1 , m i n ′ = 0 max=255, min=0, max^{'}=1,min^{'}=0 max=255,min=0,max=1,min=0 就可以得到我们平时用的归一化公式:
    x ^ = x ? m i n m a x ? m i n \hat{x} = \frac{x-min}{max-min} x^=max?minx?min?

  • 而当我们想把值从 0-1 之间放缩到 0-255 那么 m a x = 1 , m i n = 0 , m a x ′ = 255 , m i n ′ = 0 max=1, min=0, max^{'}=255,min^{'}=0 max=1,min=0,max=255,min=0
    x ^ = x ? 0 1 ? 0 ? ( 255 ? 0 ) + 0 = x ? 255 \hat{x} = \frac{x-0}{1-0} * (255-0) + 0=x*255 x^=1?0x?0??(255?0)+0=x?255

  • 除此之外,还有其他的归一化和放缩的选项,例如:

    • cv2.NORM_INF:归一化数组的(切比雪夫距离)L∞范数(绝对值的最大值)
    • cv2.NORM_L1 : 归一化数组的(曼哈顿距离)L1-范数(绝对值的和)
    • cv2.NORM_L2: 归一化数组的(欧几里德距离)L2-范数
  • 想知道具体的公式解析可以参考文章:
    opencv中归一化函数cv2.normalize()的原理讲解

代码示例


import cv2 
test_set = torchvision.datasets.CIFAR10(root='../datasets', train=False, download=False, transform=None)
x = train_set.data[0]
x = x / 255.
x

array([[[0.23137255, 0.24313725, 0.24705882],
    [0.16862745, 0.18039216, 0.17647059],
    [0.19607843, 0.18823529, 0.16862745],
    ...,
    [0.61960784, 0.51764706, 0.42352941],
    [0.59607843, 0.49019608, 0.4       ],
    [0.58039216, 0.48627451, 0.40392157]],

   [[0.0627451 , 0.07843137, 0.07843137],
    [0.        , 0.        , 0.        ],
    [0.07058824, 0.03137255, 0.        ],
    ...,
    [0.48235294, 0.34509804, 0.21568627],
    [0.46666667, 0.3254902 , 0.19607843],
    [0.47843137, 0.34117647, 0.22352941]],

   [[0.09803922, 0.09411765, 0.08235294],
    [0.0627451 , 0.02745098, 0.        ],
    [0.19215686, 0.10588235, 0.03137255],
    ...,
    [0.4627451 , 0.32941176, 0.19607843],
    [0.47058824, 0.32941176, 0.19607843],
    [0.42745098, 0.28627451, 0.16470588]],

   ...,

   [[0.81568627, 0.66666667, 0.37647059],
    [0.78823529, 0.6       , 0.13333333],
    [0.77647059, 0.63137255, 0.10196078],
    ...,
    [0.62745098, 0.52156863, 0.2745098 ],
    [0.21960784, 0.12156863, 0.02745098],
    [0.20784314, 0.13333333, 0.07843137]],

   [[0.70588235, 0.54509804, 0.37647059],
    [0.67843137, 0.48235294, 0.16470588],
    [0.72941176, 0.56470588, 0.11764706],
    ...,
    [0.72156863, 0.58039216, 0.36862745],
    [0.38039216, 0.24313725, 0.13333333],
    [0.3254902 , 0.20784314, 0.13333333]],

   [[0.69411765, 0.56470588, 0.45490196],
    [0.65882353, 0.50588235, 0.36862745],
    [0.70196078, 0.55686275, 0.34117647],
    ...,
    [0.84705882, 0.72156863, 0.54901961],
    [0.59215686, 0.4627451 , 0.32941176],
    [0.48235294, 0.36078431, 0.28235294]]])
plt.imshow(x)

在这里插入图片描述

x_ = cv2.normalize(x,None,0,255,cv2.NORM_MINMAX)
x_
array([[[ 59,  62,  63],
    [ 43,  46,  45],
    [ 50,  48,  43],
    ...,
    [158, 132, 108],
    [152, 125, 102],
    [148, 124, 103]],

   [[ 16,  20,  20],
    [  0,   0,   0],
    [ 18,   8,   0],
    ...,
    [123,  88,  55],
    [119,  83,  50],
    [122,  87,  57]],

   [[ 25,  24,  21],
    [ 16,   7,   0],
    [ 49,  27,   8],
    ...,
    [118,  84,  50],
    [120,  84,  50],
    [109,  73,  42]],

   ...,

   [[208, 170,  96],
    [201, 153,  34],
    [198, 161,  26],
    ...,
    [160, 133,  70],
    [ 56,  31,   7],
    [ 53,  34,  20]],

   [[180, 139,  96],
    [173, 123,  42],
    [186, 144,  30],
    ...,
    [184, 148,  94],
    [ 97,  62,  34],
    [ 83,  53,  34]],

   [[177, 144, 116],
    [168, 129,  94],
    [179, 142,  87],
    ...,
    [216, 184, 140],
    [151, 118,  84],
    [123,  92,  72]]], dtype=uint8)
plt.imshow(x_)

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 10:50:21  更:2022-01-24 10:52:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 21:28:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码