同态滤波
来源:互联网 发布:windows微软账户被禁用 编辑:程序博客网 时间:2024/05/27 00:58
是一种频域率滤波方法。通过分离照射分量和反射分量,将分别对应的低频和高频信息分离。图像的照射分量通常由慢的空间变化来表征,而反射分量往往引起突变,特别是不同物体的连接部分。通过滤波器函数中的γH和γL(γH为对应的高频系数,γL为对应的低频系数,使得γH > 1且γL < 1)使得滤波器趋向于衰减低频信号,增强高频信号,最终的结果是同时进行动态范围的压缩和对比度的增强。void homomorphicfiltering(IplImage* src, IplImage* dst, const double & gammaH, const double& gammaL, const double& C, const double & d0){ if ( gammaH < 1 || gammaL > 1 ) { cerr<< "gammaH > 1 && gammaL < 1时高频增强,低频减小!" <<endl; return; } if (src->nChannels != 2 || dst->nChannels != 2 ) { cerr<< "通道数y必须为a1!!" <<endl; return; } if (src->width != dst->width || src->height != dst->height) { cvError(CV_StsUnmatchedSizes, "homomorphicfiltering", "图像的长和宽必须相等" , __FILE__, __LINE__ ); } //图像大小 CvSize sz = cvSize(src->width, src->height); CvMat* temp = cvCreateMat(src->height, src->width, CV_64FC1); double P = src->width/2; double Q = src->height/2; IplImage* imgRe = cvCreateImage(sz, src->depth, 1); IplImage* imgIm = cvCreateImage(sz, src->depth, 1); IplImage* srcTemp = cvCloneImage(src); IplImage* dstTemp = cvCloneImage(src); fftshift(src, srcTemp); cvSplit(srcTemp, imgRe, imgIm, NULL, NULL); for (int y = 0; y != src->height; ++y) { for (int x = 0; x != src->width; ++x) { double d2 = pow (pow(x - P, 2.0) + pow(y - Q, 2.0), 0.5); *(( double*)CV_MAT_ELEM_PTR(*temp, y, x)) = (gammaH - gammaL)*(1 - exp(-C*d2/pow (d0, 2))) + gammaL; } } cvMul(imgRe, temp, imgRe); cvMul(imgIm, temp, imgIm); cvMerge(imgRe, imgIm, NULL, NULL, dst); fftshift(dst, dst);}
0 0
- 同态滤波
- 同态滤波
- 同态滤波
- 同态滤波
- 同态滤波
- 同态滤波程序
- 同态滤波(Homomorphic filtering)
- 同态滤波 matlab 程序
- OpenCV同态滤波
- matlab 同态滤波程序
- 简单的同态滤波(matlab)
- 同态滤波(Homomorphic filtering)
- 同态滤波的补充说明
- opencv 同态滤波实现 homofilter
- 灰度图像--频域滤波 同态滤波
- homomorphic filtering (同态滤波)原理
- 图像增强——同态滤波
- MATLAB图像处理_同态滤波
- PostgreSQL实用日常维护SQL
- 真正理解了protected的作用范围
- 蒙地卡罗法求PI
- 彻底禁止Microsoft Security Client OOBE 程序错误解决办法 (关闭Windows Defender)
- 边沿触发和电平触发的区别
- 同态滤波
- Quartz.NET--Trigger 触发器
- MySQL5.6安装步骤(windows7 64位)
- leetcode-single number
- 定义一个方法:按照最大的字节数来取子串
- Android开发实用技巧:如何在Activity中获取资源
- 翻译:零基础学习iOS开发流程——从注册账号到提交应用(Part 1)
- LeetCode_001:Reverse Words in a String
- Source Insight 3.5安装问题记录