图像低频高频区域分离

简介

  本篇整理记录利用小波分离图像的高频、低频部分信息。

具体实现

  实现代码参考资料:小波变换 C++ opencv 实现

小波变换

  小波生成和参考资料中一致。小波变换中,首先抽取出原图像的每一行,进行小波分解,获得水平方向的高、低频信息。
接着抽取出原图像的每一列,进行小波分解,获得垂直方向的高、低频信息。
  生成的对应结果如下:
                                                                                
 
                   水平方向                                         垂直方向

区域分离

  如上,我们已经获得了水平、垂直方向的高、低频信息,并保存到了图像中。接着我们首先将这两幅图片都叠加到同一副图像中。
结果开运算、高斯滤波和阀值二值化之后,最终获得比较好的分离掩码结果。
  对应代码如下:
 
 
  1. void picDone(Mat mat1, Mat mat2){  
  2.     int i, j;  
  3.     IplImage tmp;  
  4.     CvScalar s;  
  5.     float sum = 0;  
  6.    
  7.     mat2.copyTo(mask);                                                                                                                 
  8.     tmp = mask;  
  9.     for(i=0; i< mat2.rows; i++){  
  10.         for(j=0; j< mat2.cols; j++){  
  11.             mask.at<float>(i,j) = (mat1.at<float>(i,j) + mat2.at<float>(i,j)) / 2;  
  12.             if((i==0) && (j==0)){  
  13.                 sum = mask.at<float>(i,j);    
  14.             }else{  
  15.                 sum = (sum + mask.at<float>(i,j)) / 2;  
  16.             }  
  17.         }     
  18.     }  
  19.     tmp = mat2;  
  20.     cvZero(&tmp);  
  21.    
  22.     imshow("mask0", mask);  
  23.     morphologyEx(mask, mat2, MORPH_CLOSE, Mat(5,5,CV_8U), Point(-1,-1), 1);  
  24.     GaussianBlur(mat2, mask, Size(7,7), 0, 0);  
  25.    
  26.     tmp = mask;  
  27.     for(i=0; i< mask.rows; i++){  
  28.         for(j=0; j< mask.cols; j++){  
  29.             s = cvGet2D(&tmp, i, j);  
  30.             if(s.val[0] < sum){  
  31.                 s.val[0] = 0;  
  32.                 cvSet2D(&tmp, i, j, s);  
  33.             }  
  34.         }  
  35.     }  
  36.     imshow("mask", mask);  
  37. }  
  对应的结果显示如下:
  
                  直接叠加                                          后处理结果
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章导论.................................................................................................................................. 1 1.0.1 为什么要处理图像?.........................................................................................1 1.0.2 什么是一幅图像?.............................................................................................1 1.0.3 什么是一幅数字图像?.....................................................................................1 1.0.4 什么是一个光谱带?.........................................................................................1 1.0.5 为什么大多数图像处理算法都参照灰度图像进行,而实际中遇到的都是彩色图像?.....................................................................................2 1.0.6 一幅数字图像是如何形成的?.........................................................................2 1.0.7 如果一个传感器对应物理世界中的一个小片,如何能让多个传感器对应场景中的同一个小片?.................................................................2 1.0.8 什么是图像中一个像素位置亮度的物理含义?............................................3 1.0.9 为什么图像常用512×512,256×256,128×128 等来表示?........................4 1.0.10 需要多少个比特以存储一幅图像?...............................................................5 1.0.11 什么决定了一幅图像的质量?.......................................................................5 1.0.12 什么会使得图像模糊?...................................................................................5 1.0.13 图像分辨率是什么含义?...............................................................................5 1.0.14 “良好对比度”是什么含义?.........................................................................7 1.0.15 图像处理的目的是什么?...............................................................................8 1.0.16 如何进行图像处理?.......................................................................................8 1.0.17 图像处理中使用非线性操作符吗?...............................................................9 1.0.18 什么是线性操作符?.......................................................................................9 1.0.19 如何来定义线性操作符?.......................................................................

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值