opencv之normalize

函数功能

对输入数据进行归一化处理,使处理后的数据在一定范围内。

参数解释

CV_EXPORTS_W void normalize( InputArray src, InputOutputArray dst, double alpha = 1, double beta = 0, int norm_type = NORM_L2, int dtype = -1, InputArray mask = noArray());
src: 输入数据
dst: 输出数据
alpha: 用来规范数值或范围,是下限(仅在norm_type为NORM_INF, NORM_L1, or NORM_L2时产生作用)
beta: 用来规范数值或范围,是上限
norm_type: 归一化方式
dtype: 当为负数时,dst类型与src相同; 否则, dst与src具有相同的通道数且depth =CV_MAT_DEPTH(dtype)
mask: 掩码

代码示例

#include 
#include 
using namespace cv;
using namespace std;


class QuickDemo
{
    public:
        void norm_demo(Mat &image);
};


void QuickDemo::norm_demo(Mat &image)
{
    Mat dst;
    cout << image.type() << endl;
    image.convertTo(image, CV_32F);
    cout << image.type() << endl;
    normalize(image, dst, 1.0, 0, NORM_MINMAX);
    cout << dst.type() << endl;
    imshow("after norm", dst);
}


int main()
{
    Mat image = imread("D:\\c++_opencv\\images\\0--Parade_0_Parade_marchingband_1_20.jpg", IMREAD_ANYCOLOR);

    if (image.empty())
    {
        printf("could not load image");
        return -1;
    }

    imshow("before norm", image);

    QuickDemo qd;

    qd.norm_demo(image);

    waitKey(0);
    destroyAllWindows();

    return 0;
}

你可能感兴趣的:(opencv,opencv,计算机视觉,人工智能,c++)