opencv笔记17-图像像素类型转换与归一化

图像像素类型转换与归一化

#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

/*
* opencv中提供了四种归一化方式:
*       -NORM_MINMAX:根据delta=max-min
*       -NORM_INF: 根据最大值
*       -NORM_L1:依据单位向量为1
*       -NORM_L2:依据和为1
* 最常用的就是NORM_MINMAX归一化方式
*/

//图像像素类型转换与归一化
void norm_demo(cv::Mat& image)
{
	Mat dst;
	cout <<"原类型:" << image.type() << endl;
	image.convertTo(image, CV_32F);//类型转换 :CV_32F:浮点类型
	cout<<"转换后类型:" << dst.type() << endl;
	normalize(image, dst, 1.0, 0, NORM_MINMAX);//归一化
	cout <<"归一化后:" << dst.type() << endl;
	//imshow("图像像素归一化:", image);
	imshow("图像像素归一化", dst);
}

int main()
{
	string path = "C:\Users\四明\Pictures\QQ图片20200608155343.jpg";
	Mat img = imread(path,IMREAD_ANYCOLOR);
	if (img.empty())
	{
		cout << "无法加载图片" << endl;
		return -1;
	}
	namedWindow("image", WINDOW_FREERATIO);//创建窗口
	imshow("image", img);
	norm_demo(img);
	waitKey(0);
	destroyAllWindows();//销毁
	return 0;
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>