opencv入门学习之五:图像的对数变换
来源:互联网 发布:windows开发是什么工作 编辑:程序博客网 时间:2024/04/28 13:46
博客用于知识记录和学习交流,欢迎大家互动学习。
作者:JackGao24 博客园文章链接:
作者:JackGao16 CSDN文章链接:
http://blog.csdn.net/u013108511/article/details/64927943
邮箱:gshuai16@mail.ustc.edu.cn
1、图像对数变换的原理
图像的对数变换作用:
由于对数曲线在像素值较低的区域斜率大,在像素值较高的区域斜率较小,所以图像经过对数变换后,较暗区域的对比度将有所提升,所以就可以增强图像的暗部细节。
对数变换公式如下:
其中c为常数,r>=0;
2、对数变换处理
#include<highgui.h> #include <opencv2/opencv.hpp> using namespace std;void handleLogImage(IplImage* src, IplImage* dst,double a){ for(int i=0; i<src->height;i++){ for(int j=0;j<src->width;j++){ CvScalar s = cvGet2D(src, i, j); s.val[0] = a*log((double)i + 1.0); cvSet2D(dst, i, j, s); } } } int main() { IplImage* src = cvLoadImage ("pic.jpg", 1); IplImage* dst = cvCreateImage (cvGetSize(src), 8, 3); handleLogImage(src,dst,50); // 显示原图 cvNamedWindow("src", CV_WINDOW_AUTOSIZE); cvShowImage("src", src); // 显示对数变换后的图 cvNamedWindow("dst", CV_WINDOW_AUTOSIZE); cvShowImage("dst", dst); // 等待60000 ms后窗口自动关闭 cv::waitKey(60000); return 0;}
输出结果:
欢迎大家留言,学习交流共同学习。
我是Jack,学无止境。
0 0
- opencv入门学习之五:图像的对数变换
- 图像的对数变换
- 灰度图像的对数变换原理及OpenCV代码实现!
- opencv入门学习之六:拉普拉斯Laplacian变换锐化图像
- opencv入门学习之七:罗伯特Robert变换和Sobel变换锐化图像
- OpenCV学习(六)之图像缩放变换
- OpenCV学习之图像尺寸变换
- OpenCV学习笔记(一)对数变换
- 【OpenCV图像处理】五、图像的几何变换(下)
- 图像处理-基本算法之对数变换
- opencv例程之图像的距离变换
- opencv之计算图像的拉普拉斯变换
- [Learning OpenCV入门 3]OpenCV的图像变换
- opencv入门学习之四: 灰度图像的二值化
- 第三篇 学习OpenCV之图像变换(1)
- 第三篇 学习OpenCV之图像变换(2)
- 第三篇 学习OpenCV之图像变换(3)
- 【OpenCV】图像变换(六)对数极坐标变换LogPolar&直方图均衡EqualizeHist
- C语言解决“两个数的最大公约数和最小公倍数问题”
- 用两个队列实现一个栈
- android 利用代码实现圆角button(shape)
- Mycat高级进阶---Mycat注解
- 广义线性模型
- opencv入门学习之五:图像的对数变换
- 如何通过servlet编写程序能够统计浏览客户端页面的人数,ip不同人数加1
- win8.1或者win10使用最新版shadowsocks客户端出现SOCKS protocol error及此实现不是 Windows 平台 FIPS 验证的加密算法的一部分
- I2c总线
- Java中的并发组件
- 题目1410:垒积木 DP
- 团体程序设计天梯赛——红色警报(dfs)
- Struts的UI标签
- hdu today