彩色图像--图像增强 图像锐化

学习DIP第72天

转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro

开篇废话

今天写的博客有点多,因为这里的理论只是在前面已经详细介绍过了,所以多写点,好有时间来学习模式分类和图像特征点部分,请大家多多指教。

算法说明

彩色图像锐化用到的算法还是灰度图像中所用的算法,在彩色图像中的应用可以直接对RGB三通道分别锐化然后合并,也可以对HSI中的I分量进行锐化,然后再得到锐化图像。

具体算法知识:

1、拉普拉斯算子

2、Sobel算子

3、Robert算子

代码

废话不多说,直接上代码:

/*********************************************************************************************************************/
/*********************************************************************************************************************/

void SharpenRGB(RGB *src,RGB *dst,int width,int height,double c,int Sharpen_type){
    double *chanel_r=(double*)malloc(sizeof(double)*width*height);
    double *chanel_g=(double*)malloc(sizeof(double)*width*height);
    double *chanel_b=(double*)malloc(sizeof(double)*width*height);
    double *chanel_r_dst=(double*)malloc(sizeof(double)*width*height);
    double *chanel_g_dst=(double*)malloc(sizeof(double)*width*height);
    double *chanel_b_dst=(double*)malloc(sizeof(double)*width*height);
    Split(src, chanel_r, chanel_g, chanel_b, width, height);
    switch (Sharpen_type) {
        case SHARPEN_LAPLACE:{
            LaplaceSharpen(chanel_r, chanel_r_dst, width, height, c);
            LaplaceSharpen(chanel_g, chanel_g_dst, width, height, c);
            LaplaceSharpen(chanel_b, chanel_b_dst, width, height, c);
            break;
        }
        case SHARPEN_SOBEL:{
            SobelSharpen(chanel_r, chanel_r_dst, width, height, c);
            SobelSharpen(chanel_g, chanel_g_dst, width, height, c);
            SobelSharpen(chanel_b, chanel_b_dst, width, height, c);
            break;
        }
        case SHARPEN_ROBERT:{
            RobertSharpen(chanel_r, chanel_r_dst, width, height, c);
            RobertSharpen(chanel_g, chanel_g_dst, width, height, c);
            RobertSharpen(chanel_b, chanel_b_dst, width, height, c);
            break;
        }
        default:
            break;
    }

    Merge(chanel_r_dst, chanel_g_dst, chanel_b_dst, dst, width, height);
    free(chanel_r);
    free(chanel_g);
    free(chanel_b);
    free(chanel_r_dst);
    free(chanel_g_dst);
    free(chanel_b_dst);
}
/*********************************************************************************************************************/
/*********************************************************************************************************************/

void SharpenHSI(HSI *src,HSI *dst,int width,int height,double c,int Sharpen_type){
    double *chanel_i=(double*)malloc(sizeof(double)*width*height);
    double *chanel_i_dst=(double*)malloc(sizeof(double)*width*height);
    Split(src, NULL, NULL, chanel_i, width, height);
    switch (Sharpen_type) {
        case SHARPEN_LAPLACE:{
            LaplaceSharpen(chanel_i, chanel_i_dst, width, height, c);
            break;
        }
        case SHARPEN_SOBEL:{
            SobelSharpen(chanel_i, chanel_i_dst, width, height, c);
            break;
        }
        case SHARPEN_ROBERT:{
            RobertSharpen(chanel_i, chanel_i_dst, width, height, c);
            break;
        }
        default:
            break;
    }
    for(int i=0;i<width*height;i++){
        dst[i].c1=src[i].c1;
        dst[i].c2=src[i].c2;
        dst[i].c3=chanel_i_dst[i];
    }
    free(chanel_i);
    free(chanel_i_dst);
}
/*********************************************************************************************************************/

效果

原图:

RGB三通道Laplace:

RGB三通道Sobel:

RGB三通道Robert:

HSI中 I 通道Laplace:

HSI中 I 通道Sobel:

HSI中 I 通道Robert:

月球图像锐化:

RGB三通道Sobel锐化:

HSI I 通道图像锐化:

总结

彩色图像锐化如此,具体数学知识可以去查看以前的博文。

待续。。

时间: 2024-09-29 23:01:31

彩色图像--图像增强 图像锐化的相关文章

中值滤波与图像锐化

本文主要包括以下内容 中值滤波及其改进算法 图像锐化, 包括梯度算子.拉普拉斯算子.高提升滤波和高斯-拉普拉斯变换 本章的典型囊例分析 对椒盐噪声的平滑效果比较 Laplacian与LoG算子的锐化效果比较 中值滤波 中值滤波本质上是一种统计排序滤波器. 对于原图像中某点(i,j), 中值滤波以该点为中 心的邻域内的所有像素的统计排序中值作为(i, j) 点的响应. 中值不同于均值, 是指排序队列中位于中间位置的元素的值,例如=采用3x3 中值滤披 器, 某点.(i,j) 的8 个邻域的一系列像

图像锐化与直方图均衡化

图像锐化和直方图均衡化虽然效果上都是增强对比度的,都是图像增强,但是还是有一些区别的. 图像锐化 图像锐化是突出图像的边缘(高频部分),增强边界像素的对比度,使边缘处像素黑的更黑,白的跟白 因此简单的锐化就是      原图像 + 边缘图像*系数 锐化的模板的所有系数相加要等于1 比如可以使用模板 或者 其中可以简单的看成是8领域的拉普拉斯算子的边缘图+原图,因为中心系数加1表示加上了原图的像素值.所以该模板就等于原图像 + 边缘图像*1 直方图均衡化 在我的博客http://blog.csdn

彩色图像--图像增强 直方图增强

学习DIP第70天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro 开篇废话 继续简单的介绍一下彩色图像处理相关的知识,今天来简单的说下直方图增强在彩色图像中的应用,灰度图像直方图增强在此处做了相关介绍,包括其数学原理. 对于灰度图像中的一些算法适合直接用到彩色图像的各个通道,也有一些不适合,直方图均衡就属于不适合的

图像锐化

图像边缘分析 一阶微分算子 一梯度算子 二Robert算子 三Sobel算子 四Prewitt算子 二阶微分算子 高斯滤波和边缘检测 一高斯函数 二LOG算子 三Canny算子 频域高通滤波 图像边缘分析 边缘定义为图像中亮度突变的区域,分为:细线型边缘.突变型边缘和渐变型边缘 1)突变型边缘位于图像中具有不同灰度值的相邻区域之间,对应于一阶导数的极值和二阶导数的过零点 2)细线型边缘对应于灰度变化曲线的极值,对应于一阶导数的过零点和二阶微分的极值点 2)渐进型边缘因变化缓慢,没有明确的边界点

数字图像处理,图像锐化算法的C++实现

http://blog.csdn.net/ebowtang/article/details/38961399 之前一段我们提到的算法都是和平滑有关, 经过平滑算法之后, 图像锐度降低, 降低到一定程度, 就变成了模糊. 今天我们反其道行之, 我们看看锐化是怎么做的. 这里的锐化, 还是的从平滑谈开去.我们先来观察原来的图像和平滑图像的区别: 原图 raw: 模糊图 blur: _________________________________________________________ 源图

灰度图像--图像增强 非锐化掩蔽 (Unsharpening Mask)

学习DIP第35天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不满意.有些网站转载了我的博文,很开心的是自己写的东西被更多人看到了,但不开心的是这段话被去掉了,也没标明转载来源,虽然这并没有版权保护,但感觉还是不太好,出于尊重文章作者的劳动,转载请标明出处!!!! 文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro

彩色图像--图像增强 图像平滑

学习DIP第71天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro 开篇废话 最近博客数量变多,访问量也一路上升,虽然目的并不是要多少访问量,但看着知识一点点的积累,而且有人认可,心情相当不错的. 算法原理 对灰度图像进行平滑的文章: 1.均值,高斯平滑 2.双边滤波 3.中值滤波 这些算法在彩色图像中应用有两种,一

【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图像增强处理,包括图像普通平滑.高斯平滑.不同算子的图像锐化知识.希望该篇文章对你有所帮助,尤其是初学者和学习图像处理的学生. [数字图像处理]一.MFC详解显示BMP格式图片 [数字图像处理]二.MFC单文档分割窗口显示图片 [数字图像处理]三.MFC实现图像灰度.采样和量化功能详解 [数字图像处理]四.MFC对话框绘制灰度直方图 [数字图像

灰度图像--图像增强 锐化基础

学习DIP第33天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan,欢迎大家转载,发现博客被某些论坛转载后,图像无法正常显示,无法正常表达本人观点,对此表示很不满意.有些网站转载了我的博文,很开心的是自己写的东西被更多人看到了,但不开心的是这段话被去掉了,也没标明转载来源,虽然这并没有版权保护,但感觉还是不太好,出于尊重文章作者的劳动,转载请标明出处!!!! 文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro