OpenCV 对数变换函数logTransform()
- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
该函数对输入图像执行对数变换(Log Transform),这是一种常用的非线性强度变换方法,用于增强图像中较暗区域的对比度。
给定一个输入的 BGR 或灰度图像以及常数 c,在 [0, 255] 区间上对该图像应用对数变换,并返回结果图像。
函数原型
void cv::intensity_transform::logTransform
(const Mat input,Mat & output
)
参数
-
input 输入 BGR 或灰度图像。
-
output 对数变换后的结果图像。
代码示例
#include <opencv2/intensity_transform.hpp>
#include <opencv2/opencv.hpp>int main()
{// 读取图像(灰度图)cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_GRAYSCALE );if ( img.empty() ){std::cerr << "无法加载图像!" << std::endl;return -1;}cv::Mat result;// 应用对数变换cv::intensity_transform::logTransform( img, result );// 显示结果cv::imshow( "Original Image", img );cv::imshow( "Log Transformed Image", result );cv::waitKey( 0 );return 0;
}