卷积变换的核心是变换矩阵,该矩阵用来根据相邻的几个像素计算出处理后像素的颜色值,图1给出了使用3´3矩阵的卷积其工作原理。
从图1中可以看出,若卷积矩阵为3´3,当计算目标图像中[x,y]点像素的颜色值时,需要把卷积矩阵中的中心元素a11对齐到源图像中的像素B[x,y],然后把卷积矩阵中的元素与对应的像素依次相乘,最后将9个乘积再求和就得到了目标像素D[x,y]的值。
通过这样的计算便能够使得目标图像中每一个像素与其周围像素具有变换矩阵给出的关系。从而得到特殊效果的图像。在后面的内容将通过一个简单的案例为读者介绍如何使用Java SE6.0来进行图像卷积滤镜的开发。
3 功能
将结合开发一个各种滤镜效果与原始图像的对比软件来详细介绍如何使用Java SE6.0进行图像卷积滤镜的开发,下面首先对该软件的功能、界面进行介绍。
3.1 程序界面
程序运行界面如图2所示,其中主窗体使用JFrame控件,在窗体中使用了JSplitPane分隔窗口控件。而图像则采用JLabel控件进行显示,按钮则使用JButton控件。
图2 程序运行的主界面
|