本文主要是介绍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<uchar>(i,j) = (uchar)log(input_image.at<uchar>(i,j)+1.0);}}
这里需要注意一下:这里的log是以自然对数e为底的。
这篇关于opencv实现对数log灰度变换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!