NoRM

OpenCV像素值归一化

匆匆过客 提交于 2019-12-08 02:29:11
OpenCV像素值归一化 1.L1归一化:NORM_L1 2.L2归一化:NORM_L2 3.INF归一化:NORM_INF 4.MINMAX归一化:NORM_MINMAX 5.完整代码 像素值归一化 就是要把图片像素值数据经过某种算法 限制在需要的一定范围内 。归一化可以使没有可比性的数据变得具有可比性,同时保持相比较的数据之间的相对关系。OpenCV提供了四种图片像素归一化的方法: L1归一化 : NORM_L1 L2归一化 : NORM_L2 INF归一化 : NORM_INF MINMAX归一化 : NORM_MINMAX(最常用) 使用的API是normalize(): void normalize ( InputArray src , //输入图片 InputOutputArray dst , //输出图片 double alpha = 1 , //norm_type = NORM_MINMAX时下限 double beta = 0 , //norm_type = NORM_MINMAX时上限,norm_type = NORM_INF时最大值 int norm_type = NORM_L2 , int dtype = - 1 , //输出type与输入type相同 InputArray mask = noArray ( ) ) ; 下面以20,80

opencv笔记(二十八)——OpenCV中矩阵的归一化

匆匆过客 提交于 2019-12-08 02:28:14
1. 归一化定义与作用 归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在某个区间上是统计的坐标分布。归一化有同一、统一和合一的意思。 归一化的目的简而言之, 即归一化数据 。是使得没有可比性的数据变得具有可比性,同时又保持相比较的两个数据之间的相对关系,如大小关系;或是为了作图,原来很难在一张图上作出来,归一化后就可以很方便的给出图上的相对位置等。 图像处理中,图片像素点单通道值一般是[0-255]的unsigned char类型,将其转化到[0,1]之间,更方便计算,这就需要用到矩阵的归一化运算。 注 : normalize的原矩阵必须是单通道(src.channel==1) ,函数执行完,无论之前是否初始化结果矩阵,结果矩阵的大小和类型与原矩阵相同。 在使用机器学习算法的数据预处理阶段,归一化也是非常重要的一个步骤。例如在应用SVM之前,缩放是非常重要的。Sarle的神经网络FAQ的第二部分(1997)阐述了缩放的重要性,大多数注意事项也适用于SVM。缩放的最主要优点是能够避免大数值区间的属性过分支配了小数值区间的属性。另一个优点能避免计算过程中数值复杂度。因为关键值通常依赖特征向量的内积

OpenCV之图像归一化(normalize)

为君一笑 提交于 2019-12-08 02:27:44
什么图像归一化 通俗地讲就是将矩阵的值通过某种方式变到某一个区间内 图像归一化的作用 目前能理解的就是归一化到某个区间便于处理,希望高人可以指点 opencv文档中的介绍 C++: void normalize(InputArray src, InputOutputArray dst, double alpha=1, double beta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray() ) C++: void normalize(const SparseMat& src, SparseMat& dst, double alpha, int normType) Python: cv2.normalize(src[, dst[, alpha[, beta[, norm_type[, dtype[, mask]]]]]]) → dst Parameters: src – input array. dst – output array of the same size as src . alpha – norm value to normalize to or the lower range boundary in case of the range normalization. beta – upper

OpenCV3:归一化函数介绍——normalize()

与世无争的帅哥 提交于 2019-12-08 02:25:40
1、函数的原型: void cv::normalize(InputArry src,InputOutputArray dst,double alpha=1,double beta=0,int norm_type=NORM_L2,int dtype=-1,InputArray mark=noArry()) 2.函数作用 归一化数据。该函数分为范围归一化与数据值归一化。(Normalizes the norm or value range of an array.) 3.参数说明 src 输入数组; dst 输出数组,数组的大小和原数组一致; alpha 1,用来规范值,2.规范范围,并且是下限;range normalization模式的最小值 beta 只用来规范范围并且是上限;range normalization模式的最大值,不用于norm normalization(范数归一化)模式。 norm_type 归一化选择的数学公式类型; dtype 当为负,输出在大小深度通道数都等于输入,当为正,输出只在深度与输如不同,不同的地方游dtype决定; mark 掩码。选择感兴趣区域,选定后只能对该区域进行操作。 4.归一化选择的数学公式类型介绍(norm_type) 设数组中原有{A1,A2,A3...An} NORM_L1: NORM_INF: NORM_L2: NORM

Compute distance in Cartesian Coordinate System in Mathematica

北城以北 提交于 2019-12-07 06:04:18
问题 Analyzing Eye-movements on a screen, I set my origin to the bottom left corner of it (Hard to modify at that point). Trying to compute distance between some points and the center of the screen I use the simple formula displayed below. Problem is that using this in conditional statement, it gets ugly. Sqrt[ ( (fixationX - centerX)^2 + (fixationY - centerY)^2 ) ] Is there a way to customize Norm to compute distance between points and not between a point and the origin ? Or in my case, set the

How to calculate Euclidean length of a matrix without loops?

谁说胖子不能爱 提交于 2019-12-07 04:53:11
问题 It seems like the answer to this should be simple, but I am stumped. I have a matrix of Nx3 matrix where there 1st 2nd and 3rd columns are the X Y and Z coordinates of the nth item. I want to calculate the distance from the origin to the item. In a non vectorized form this is easy. distance = norm([x y z]); or distance = sqrt(x^2+y^2+z^2); However, in vectorized form its not so simple. When you pass a matrix to norm it no longer returns the Euclidean length. distance = norm(matrix); %doesn't

SSD Keras版源码史上最详细解读系列之模型源码解析

孤街醉人 提交于 2019-12-06 01:40:24
SSD Keras版源码史上最详细解读系列之模型源码解析 模型源码keras_ssd300.py解析 模型源码keras_ssd300.py解析 因为前面训练和测试的模型是用 ssd300 的,所以这次就解析这个模型,至于其他的都是差不多的,原理一样的,我们先来看看这个文件 keras_ssd300.py : 其实里面是定义了ssd300的一个方法来获取模型: def ssd_300(image_size, n_classes, mode='training', l2_regularization=0.0005, min_scale=None, max_scale=None, scales=None, aspect_ratios_global=None, # 4 6 6 6 4 4 有1的会增加一个框 aspect_ratios_per_layer=[[1.0, 2.0, 0.5], [1.0, 2.0, 0.5, 3.0, 1.0/3.0], [1.0, 2.0, 0.5, 3.0, 1.0/3.0], [1.0, 2.0, 0.5, 3.0, 1.0/3.0], [1.0, 2.0, 0.5], [1.0, 2.0, 0.5]], two_boxes_for_ar1=True, steps=[8, 16, 32, 64, 100, 300], offsets=None,

SSD Keras版源码史上最详细解读系列之训练模型

霸气de小男生 提交于 2019-12-06 01:38:48
SSD Keras版源码史上最详细解读系列之训练模型 训练 训练 上次讲了怎么跑起来测试,这篇将怎么跑起来训练,话不多说,我们可以看 ssd300_training.ipynb 的代码,但是需要一些修改,一段段来分析吧,最开始就是一些参数的设置,比如图像输入的宽高,通道,类别,缩放比例等等,具体可以看论文,后面也会有分析,这里就先提下,先了解下训练流程: img_height = 300 # Height of the model input images img_width = 300 # Width of the model input images img_channels = 3 # Number of color channels of the model input images mean_color = [123, 117, 104] # The per-channel mean of the images in the dataset. Do not change this value if you're using any of the pre-trained weights. swap_channels = [2, 1, 0] # The color channel order in the original SSD is BGR, so we'll have

解释张量及TF的一些API

帅比萌擦擦* 提交于 2019-12-05 15:39:42
张量的定义   张量(Tensor)理论是数学的一个分支学科,在力学中有重要应用。张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具。张量之所以重要,在于它可以满足一切物理定律必须与坐标系的选择无关的特性。 张量概念是矢量概念的推广,矢量是一阶张量。张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数(可以理解成是向量、矩阵以及更高维结构的统称)。   But we don’t have to restrict ourselves to linear algebra. As it turns out, we can move up the mathematical food chain a bit. It has long been known that there are bigger fish in the mathematical abstraction sea than just matrices. One such candidate is called a tensor. Tensors figure prominently in the mathematical underpinnings of general relativity and are fundamental to

How to calculate Euclidean length of a matrix without loops?

假如想象 提交于 2019-12-05 07:58:33
It seems like the answer to this should be simple, but I am stumped. I have a matrix of Nx3 matrix where there 1st 2nd and 3rd columns are the X Y and Z coordinates of the nth item. I want to calculate the distance from the origin to the item. In a non vectorized form this is easy. distance = norm([x y z]); or distance = sqrt(x^2+y^2+z^2); However, in vectorized form its not so simple. When you pass a matrix to norm it no longer returns the Euclidean length. distance = norm(matrix); %doesn't work and distance = sqrt(x(:,1).*x(:,1)+y(:,2).*y(:,2)+z(:,3).*z(:,3)); %just seems messy Is there a