cvNormalize用法
来源:互联网 发布:犀牛软件无法选取 编辑:程序博客网 时间:2024/06/03 21:14
根据某种范数或者数值范围归一化数组.
void cvNormalize( const CvArr* src, CvArr* dst,
double a=1, double b=0, int norm_type=CV_L2,
const CvArr* mask=NULL );
src
输入数组
dst
输出数组,支持原地运算
a
输出数组的最小/最大值或者输出数组的范数
b
输出数组的最大/最小值
norm_type
归一化的类型,可以有以下的取值:
CV_C - 归一化数组的C-范数(绝对值的最大值)
CV_L1 - 归一化数组的L1-范数(绝对值的和)
CV_L2 - 归一化数组的(欧几里德)L2-范数
CV_MINMAX - 数组的数值被平移或缩放到一个指定的范围
mask
操作掩膜,用于指示函数是否仅仅对指定的元素进行操作
该函数归一化输入数组使它的范数或者数值范围在一定的范围内
对于不同的norm_type, 根据我的试验(mask=null)的时候, a,b(a>b)起的作用结果如下:
norm_type=CV_C时, src 被重新”缩放”(rescale)到dst, 使得dst的值是线性映射到[0,1]区间.(a,b其实无作用)
norm_type=CV_L1,或者 CV_L2时, 得到L1,L2规范化的dst.(a,b其实无作用)
norm_type=CV_MINMAX时, src会被缩放(rescale)和移动(translation)到dst,使得dst的值是线性映射到[b,a]区间.
#include <cv.h>#include <highgui.h>#include <iostream>using namespace cv;void main(){ float A[] = {1 , 2 , 3 , 4} ; CvMat mat_A = cvMat(1 , 4 , CV_32FC1 , A) ; for (int i = 0 ; i < 4 ; i++) { std::cout<<cvGetReal2D(&mat_A , 0 , i)<<"\t" ; } std::cout<<"\n" ; CvMat *mat_dst = cvCreateMat(1 , 4 , CV_32FC1) ; //归一化数组C-范数(绝对值的最大值) cvNormalize(&mat_A , mat_dst , 1.0 , 0.0 , CV_C) ; for (int i = 0 ; i < 4 ; i++) { std::cout<<cvGetReal2D(mat_dst , 0 , i)<<"\t" ; } std::cout<<"\n" ; //归一化数组的L1-范数(绝对值的和) cvNormalize(&mat_A , mat_dst , 1.0 , 0.0 , CV_L1) ; for (int i = 0 ; i < 4 ; i++) { std::cout<<cvGetReal2D(mat_dst , 0 , i)<<"\t" ; } std::cout<<"\n" ; //归一化数组(欧几里得)L2范数 cvNormalize(&mat_A , mat_dst , 1.0 , 0.0 , CV_L2) ; for (int i = 0 ; i < 4 ; i++) { std::cout<<cvGetReal2D(mat_dst , 0 , i)<<"\t" ; } std::cout<<"\n" ; //数组的值被平移或缩放到指定的一个范围 cvNormalize(&mat_A , mat_dst , 1.0 , 0.0 , CV_MINMAX) ; for (int i = 0 ; i < 4 ; i++) { std::cout<<cvGetReal2D(mat_dst , 0 , i)<<"\t" ; } std::cout<<"\n" ;}
0 0
- cvNormalize用法
- cvNormalize
- opencv关于cvNormalize归一化的用法
- opencv关于cvNormalize归一化的用法
- cvNormalize函数
- cvNormalize函数
- cvNormalize函数
- cvNorm cvNormalize()使用
- OpenCV中的cvNormalize函数原理
- cvNormalize 根据某种范数或者数值范围归一化数组.
- 《学习opencv》笔记——矩阵和图像操作——cvMinManLoc,cvMul,cvNot,cvNorm and cvNormalize
- 用法
- ,, 用法
- 用法
- 用法
- #用法
- ??用法
- !!用法
- 数组
- 网站性能优化— WebP 全方位介绍
- C语言学习之关键字第一讲
- erlang日记
- Splitting an existing replicat ( or extract ) with the RANGE command into multiple replicats (extrac
- cvNormalize用法
- App上传,工具链无效解决方案
- ViewPager + Fragment+radiogroup实现滑动标签页
- cocos2dx精灵裁剪显示ClippingNode
- jBox使用
- 一个非常标准的Java连接Oracle数据库的示例代码
- ExtJS 3.4 类继承机制
- JDBC(与Oracle的连接)
- Java Client/Server 上传文件到服务器与保存文件到本地