opencv实现对数log灰度变换

我的思路太窄了,想了一个遍历的方法。也可以先做通道分解,分析单个通道的log变换。

菜鸟一个,若是有好的想法,还请赐教。


Mat log_image;
log_image.create(512,512,CV_8UC1);
cvtColor(input_image, input_image, CV_BGR2GRAY);
for (int i = 0; i <512; i++)
{
	for (int j = 0; j < 512; j++)
	{
		log_image.at(i,j) = (uchar)log(input_image.at(i,j)+1.0);
	}
 }

这里需要注意一下:这里的log是以自然对数e为底的。

你可能感兴趣的:(opencv实现对数log灰度变换)