结合实例与代码谈数字图像处理都研究什么?

图像处理(以及机器视觉)在学校里是一个很大的研究方向,很多研究生、博士生都在导师的带领下从事着这方面的研究。另外,就工作而言,也确实有很多这方面的岗位和机会虚位以待。而且这种情势也越来越凸显。那么图像处理到底都研究哪些问题,今天我们就来谈一谈。图像处理的话题其实非常非常广,外延很深远,新的话题还在不断涌现。下面给出的12个大的方向,系我认为可以看成是基础性领域的部分,而且它们之间还互有交叉

1、图像的灰度调节

图像的灰度直方图、线性变换、非线性变换(包括对数变换、幂次变换、指数变换等)、灰度拉伸、灰度均衡、直方图规定化等等)。

例如,直方图规定化(代码请见http://blog.csdn.net/baimafujinji/article/details/41146381)

CLAHE(contrast limited adaptive histogram equalization)自适应的直方图均衡(效果图来自

http://www.cnblogs.com/Imageshop/archive/2013/04/07/3006334.html)

2、图像的几何变换

图像的平移、图像的镜像、转置、缩放和旋转。这里面其实还包含了插值算法(这是某些几何变换所必须的),例如最邻近插值法、双线性插值法等等)

几何变换同时和图像的滤镜特效是紧密联系的,某些特效的实现本质上就是某种类型的几何变换。例如

3、图像的特效与滤镜

这方面的应用很多,你可以想想Photoshop里面的滤镜。

文献Combining Sketch and Tone for Pencil Drawing Production中给出的将自然图像变成手绘素描图的效果

例如浮雕效果

贴图太烦了,更多效果请见http://blog.csdn.net/baimafujinji/article/details/50500757

4、图像增强

内容包括图像的平滑(简单平均、中值滤波、高斯平滑等)和锐化(例如Laplace方法)等。

增强处理中的很多算法其实和图像复原中的降噪算法是重合的。现在保持边缘(或纹理结构)的平滑算法属于研究热点。像那些美颜相机里的嫩肤算法都是以此为基础的。比较常见的双边滤波(我给出的代码请见http://blog.csdn.net/baimafujinji/article/details/41598455)

基于全变分方法的TV去噪(http://blog.csdn.net/baimafujinji/article/details/42110831)、基于PM方程的非线性扩散去噪(http://blog.csdn.net/baimafujinji/article/details/42110831)等等。

5、图像复原

广义上来说——图像降噪,图像去雾,图像去模糊 都属于这个范畴

去噪实例是我用MagicHouse(http://blog.csdn.net/baimafujinji/article/details/50500757)实现的中值滤波处理椒盐噪声的效果。此外,一些基于非局部均值的降噪算法是当前研究的热点(例如BM3D、NLM等)

图像去模糊(图片取自我的《数字图像处理原理与实践(Matlab版)》)

去雾代码请见(http://blog.csdn.net/baimafujinji/article/details/30060161)或参考我的《数字图像处理原理与实践(Matlab版)》

6、图像的压缩与编码

想想BMP图像如何转换成JPG,JPG如何变成PNG?这些都属于图像压缩编码所要探讨的内容。

7、边缘检测与轮廓跟踪

边缘检测在图像处理中是一个“古老”的话题了,我就不具体给例子了。下面是一个轮廓跟踪的例子

8、图像分割

你可以认为轮廓跟踪也是实现图像分割的一种途径。

这是我在《数字图像处理原理与实践(Matlab版)》中给出的一个例子——用分水岭算法对马铃薯图像进行分割。

9、图像的形态学处理

这也属于一种非常古老的图像处理方式了。包括膨胀、腐蚀、细化、击中/击不中、开/闭运算等。但一些对颗粒状物体进行计数的应用中它仍然非常有效。

10、图像的频域变换(或称正交变换)

傅立叶、离散余弦、沃尔什-哈达玛变换、K-L(卡洛南-洛伊)变换(也称霍特林变换或PCA)、小波变换(小波变换还分很多种,例如Haar小波、Daubechies小波等等)

仅仅进行频域变换其实并没有多大意义,它往往要与具体应用相结合来发挥作用。例如进行图像压缩、嵌入数字水印、进行图像融合、进行图像降噪等等。

例如,利用PCA进行图像压缩的例子请见

http://blog.csdn.net/baimafujinji/article/details/50373143(源代码请见我的博文)

在比如,利用小波融合对由聚焦失败导致的图像模糊进行修复 (本来左图和中图各有部分看不清,融合后变得可以辨识)源代码可见

http://blog.csdn.net/baimafujinji/article/details/49642111

11、图像融合

广义上说融合至少包含三部分内容:像上面的基于小波的Fusion我们也认识是融合的一种,另外一种是以隐藏为目的类似嵌入式的融合,第三种是matting。matting有时反义成抠图,其实它最原本的意思就是融合。如果你理解

I = aF +(1-a)B这个融合公式的话,你应该明白我在所什么。这本质上和第二种融合原理是一样的。

狭义上,融合就是指matting。

例如 著名的Possion融合,下图右,如果直接把月亮图贴上天空,矩形边缘是很明显的,融合处理后的左图则很自然。

代码可见 http://blog.csdn.net/baimafujinji/article/details/46787837

电影技术中常用matting方法来替换人物的场景。例如

12、图像信息安全

主要包括两个内容:1)数字水印(主要用于多媒体的版权保护);2)图像的加密(主要用于图像信息的保护)

例子是我用MagicHouse(http://blog.csdn.net/baimafujinji/article/details/50500757)实现的加密效果

注意上面我们所讨论的领域仅仅是图像处理的范畴,并不涉及机器视觉。所以也没有任何机器学习的内容,有时间我们再继续讨论这方面的东西。

时间: 2024-10-11 04:52:25

结合实例与代码谈数字图像处理都研究什么?的相关文章

数字图像处理 简单介绍

 数字图像处理发展概况 数字图像处理发展概况数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们開始利用计算机来处理图形和图像信息.数字图像处理作为一门学科大约形成于20世纪60年代初期.早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的.图像处理中,输入的是质量低的图像,输出的是改善质量后的图像

【数字图像处理之(三)】用图像增强谈灰度变换

前面已经说了,数字图像处理是指通过计算机对数字图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术. 其主要目的有三个方面: 提高图像的视感质量,如进行图像的亮度.彩色变换,增强.抑制某些成分,对图像进行几何变换等,以改善图像的质量. 图像数据的变换.编码和压缩,以便于图像的存储和传输. 提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利.提取特征或信息的过程是模式识别或计算机视觉的预处理.提取的特征可以包括很多方面,如频域特征.灰度或颜色特征.边

《数字图像处理原理与实践(MATLAB版)》一书之代码Part9

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part9,辑录该书第431至第438页之代码,供有需要读者下载研究使用.至此全书代码发布已经接近尾声,希望这些源码能够对有需要的读者有所帮助.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 首先给出的是原书P438所列之程序源

《数字图像处理原理与实践(MATLAB版)》一书之代码Part8

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part8,辑录该书第375至第415页之代码,供有需要读者下载研究使用.至此全书代码发布已经接近尾声,希望这些源码能够对有需要的读者有所帮助.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 P385-1 function y

《数字图像处理原理与实践(MATLAB版)》一书之代码Part5

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part5,辑录该书第225至第280页之代码(此处应部分读者之需求调整了代码发布的顺序--详细说明请见下面的文章链接),供有需要读者下载研究使用.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 P245 I = imread(

《数字图像处理原理与实践(MATLAB版)》一书之代码Part6

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part6,辑录该书第281至第374页之代码,供有需要读者下载研究使用.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 P338 i=double(imread('vase.tif'));[C,S]=wavedec2(i,2,

《数字图像处理原理与实践(MATLAB版)》一书之代码Part3

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part3(P81~135),代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明http://blog.csdn.net/baimafujinji/article/details/40987807 P92 i = imread('Hepburn.jpg');%注意w和h1这两个模板是等价的w = [1 1 1;1 1 1;1 1 1]/9;h1 =

《数字图像处理原理与实践(MATLAB版)》一书之代码Part4

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part4,辑录该书第135至第183页之代码,供有需要读者下载研究使用.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 P139 original = imread('snowflakes.png');figure, imsh

【数字图像处理之(四)】用图像增强谈灰度直方图

灰度直方图 是灰度级的函数,描述的是图像中该灰度级的像个数或该灰度级像素出现的频率(归一化) 生成并绘制直方图: src = imread('Fig0303(a)(breast).tif'); imshow(src); h1 = imhist(src); %生成直方图 figure,imhist(src,255); %绘制直方图 h2 = imhist(src, 25); %生成直方图 horz = linspace(0, 255, 25); figure,bar(horz, h2); %绘制条