预备知识
归一化
归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。

首先归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在某个区间上是统计的坐标分布。归一化有同一、统一和合一的意思。

归一化的目的,是使得没有可比性的数据变得具有可比性,同时又保持相比较的两个数据之间的相对关系,如大小关系;或是为了作图,原来很难在一张图上作出来,归一化后就可以很方便的给出图上的相对位置等。

opencv中提供了四种归一化的方法:
NORM_MINMAX
NORM_INF
NORM_L1
NORM_L2
最常用的就是NORM_MINMAX归一化方法

L1 归一化(依据是:和为1) L2 归一化(依据是:单位向量为1,也即每个数除以 根号下所有数的平方和)
2.0+8.0+10.0=20
2.0 0.1 (2.0/20.0)
8.0 0.4 (8.0/20.0)
10.0 0.5 (10.0/20.0)

L2 归一化(依据是:单位向量为1,也即每个数除以 根号下所有数的平方和)

2.0 0.15
8.0 0.62
10.0 0.77

NORM_INF 归一化(依据是:最大值)
2.0 0.2 (2.0/10.0)
8.0 0.8 (8.0/10.0)
10.0 1.0 (10.0/10.0)

NORM_MINMAX 归一化(依据是:delta=max-min,也即最小值为0,最大值为1)
2.0 0.0 (0.0/8.0)
8.0 0.75 (6.0/8.0)
10.0 1.0 (8.0/8.0)

import cv2 as cv
import numpy as np

src=cv.imread(r’C:\Users\zs\Desktop\defm.jpg’)
cv.namedWindow(‘input’,cv.WINDOW_AUTOSIZE)
cv.imshow(‘input’,src)
gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY)

gray=np.float32(gray)
print(gray)

dst=np.zeros(gray.shape,dtype=np.float32)
cv.normalize(gray,dst=dst,alpha=0,beta=1.0,norm_type=cv.NORM_MINMAX)
#alpha和beta的意义是,alpha:range normalization模式的最小值
beta:range normalization模式的最大值,不用于norm normalization(范数归一化)模式
print(dst)
cv.imshow(‘NORM_MINMAX’,np.uint8(dst*255)) #NORM_MINMAX:数组的数值被平移或缩放到一个指定的范围,线性归一化,一般较常用

dst=np.zeros(gray.shape,dtype=np.float32)
cv.normalize(gray,dst=dst,alpha=1.0,beta=0,norm_type=cv.NORM_INF)#NORM_INF:归一化数组的C-范数(绝对值的最大值)
print(dst)
cv.imshow(‘NORM_L1’,np.uint8(dst*10000000))#NORM_L1 : 归一化数组的L1-范数(绝对值的和)

dst=np.zeros(gray.shape,dtype=np.float32)
cv.normalize(gray,dst=dst,alpha=1.0,beta=0,norm_type=cv.NORM_L2)#NORM_L2: 归一化数组的(欧几里德)L2-范数
print(dst)
cv.imshow(‘NORM_L2’,np.uint8(dst*10000))

cv.waitKey(0)
cv.destroyAllWindows()

python opencv-11图像像素归一化相关推荐

  1. OpenCV之图像像素归一化

    python代码: import cv2 as cv import numpy as npsrc = cv.imread("./test.png") cv.namedWindow( ...

  2. python opencv读取图像像素值_python-opencv--图像像素通道读取及修改

    data/dtype/size/shape/len ''' import cv2 as cv import numpy as np def access_pixes(image): print(ima ...

  3. Python OpenCV 之图像乘除与像素的逻辑运算,图像处理取经之旅第 17 天

    今天的学习的内容是:通过 Python OpenCV 对图像实现乘除操作,涉及函数为 cv2.multiply 与 cv2.divide.后面又补充了一些像素的逻辑运算,以及一个综合案例 cv2.mu ...

  4. 【Python OpenCV】图像直方图 calcHist方法 equalizeHist方法

    [Python OpenCV]图像直方图 calcHist方法 equalizeHist方法 (一)图像直方图 图像的构成是有像素点构成的,每个像素点的值代表着该点的颜色(灰度图或者彩色图).所谓直方 ...

  5. Python+OpenCV:图像Harris角点检测(Harris Corner Detection)

    Python+OpenCV:图像Harris角点检测(Harris Corner Detection) 理论 corners are regions in the image with large v ...

  6. Python+OpenCV:图像金字塔

    Python+OpenCV:图像金字塔 理论 通常情况下,我们使用固定大小的图像.但在某些情况下,我们需要处理(相同的)不同分辨率的图像. 例如,当搜索图像中的某些东西时,比如脸,我们不确定该物体在图 ...

  7. Python+OpenCV判断图像是黑底还是白底

    前言 本篇博客使用Python+OpenCV判断图像是黑底还是白底,利用图像对角线上的黑白像素点个数进行判断,详情见下文. 本篇博客内容包含代码逻辑.说明.依赖.实现,这几部分.代码实现部分包含2种实 ...

  8. Python+OpenCV:图像修复(Image Inpainting)

    Python+OpenCV:图像修复(Image Inpainting) 理论 Most of you will have some old degraded photos at your home ...

  9. Python+OpenCV:图像二进制鲁棒独立基本特征(BRIEF, Binary Robust Independent Elementary Features)

    Python+OpenCV:图像二进制鲁棒独立基本特征(BRIEF, Binary Robust Independent Elementary Features) 理论 We know SIFT us ...

  10. Python+OpenCV:图像快速角点检测算法(FAST Algorithm for Corner Detection)

    Python+OpenCV:图像快速角点检测算法(FAST Algorithm for Corner Detection) 理论 Feature Detection using FAST Select ...

最新文章

  1. 今天诞生了智能车竞赛华南赛区三项最好成绩
  2. 通过什么来衡量C# Socket服务的效能
  3. java.lang.IllegalArgumentException: Can not set XXX to com.sun.proxy.$Proxy28
  4. mysql添加外键约束失败cannot add foreign key constraint
  5. 怎么创建计算机快捷方式到桌面两种方法,使用脚本主机创建Windows快捷方式 - Windows Client | Microsoft Docs...
  6. c语言中switch嵌套,C 嵌套 switch 语句 ——jQuery中文网
  7. Bailian4007 计算字符串距离【DP】
  8. 二分最大匹配(匈牙利算法+HK算法)
  9. 沟通与设计讨论总结:设计师不能不知道的10个沟通秘诀
  10. dijkstra algorithm example
  11. 微信小程序倒计时组件
  12. EEPROM与FLASH闪存到底有什么区别?
  13. GitHub账号注册教程
  14. mysql文件夹搬家_Mysql 静态文件搬家 注意事项
  15. Linux C语言 pthread_cond_wait()、pthread_cond_timedwait()函数(不允许cond被唤醒时产生竞争,所以需要和互斥锁搭配)
  16. 健康心理学类毕业论文文献包含哪些?
  17. 网上报修系统java源码_网上报修系统管理软件
  18. 日志系统新贵 Loki,确实比笨重的ELK轻
  19. Java 使用Virtual Serial Port Driver及Modsim32进行modbus-rtu协议模拟(从机)并使用java当做主机(Maven项目)进行从机信息获取及修改
  20. 查询 AD 帐户密码到期的用户

热门文章

  1. Python文件操作-shutil 模块(参考)
  2. 系统分析师电子版_3个月,我从待业青年变成数据分析师,月薪15000!
  3. 青年是科学的未来:JGG诚聘青年编委
  4. 鸟哥的私房菜 笔记备份
  5. 闸门机制(Gate Mechanism)
  6. python制作海报_生成海报(前端 | python)
  7. 数据分析-Excel基础操作
  8. 什么软件能把蓝底换白底
  9. Ubuntu下web开发,php编辑器推荐
  10. firebox插件使用笔记