基于Java技术的数字图像处理系统的开发
来源:用户上传
作者:王振铎 边倩
摘要:数字图像处理是在计算机科学、医学、物理学等学科基础上发展起来的一门科学,它广泛应用在各行各业。利用Java 技术对图像进行处理,利用Java Swing实现可视化。该系统性能稳定,功能实用,且具有良好的扩展性。
关键词:图像处理;Java;opencv
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2019)28-0097-03
Abstract:Digital image processing is a science developed on the basis of computer science, medicine, physics and other disciplines. It is widely used in all walks of life. Java technology is used for image processing, and Java Swing is used for visualization. The system has stable performance, practical function and good expansibility.
Keywords: image processing; Java; oepncv
1引言
图像处理旨在将图像转化为一个数字矩阵保存在电脑中,并利用一定的算法对其进行处理。图像处理的基础是数学,最核心的任务就是各种算法的设计和实现。目前,图像处理技术已经广泛应用在各行各业中。例如:生物医学、数字地图,通讯技术、工业生产、计算机科学等等。所以,将数字图像保存到数据库中,进行相应的图像处理和图像识别,是图像应用的研究基础。本文利用Java技术开发了一种数字图像处理系统。此系统可以方便地实现各种常用的操作,同时也为后期医学影像的处理打下了基础[1-5]。
2 开发环境
2.1 Eclipse环境下java中调用opencv库
opencv是一个可以在多个操作系统环境下的计算机视觉库,提供了通用的图像处理和计算机视觉方面的算法实现。并提供了多种语言接口,例如:C、C++、Java、C#等。
2.2 eclipse中java调用opencv库的方法
首先从opencv官网上下载opencv的库(opencv-24.13.3.jar );
2.3 在eclipse中加入opencv的类库
2.4 测试一个简单的javaopecv程序,验证环境的正确性
3 Java 處理数字图像的流程
数字图像的处理主要是图像的预处理和识别,其中图像预处理主要包括:
3.1 图像灰度化;二值化
在RGB模型中,若R=G=B时,则彩色表现为灰度颜色,灰度范围为0-255,其中R=G=B的值叫灰度值;所以,灰度图像每个像素点只需一个字节存放灰度值(又称强度值、亮度值)。一般常用的是加权平均法来求像素点的灰度值,常用的加权方法有5种,如下:
1)Gray = B ; Gray = G ; Gray = R
分量法,即用RGB三个分量的某一个分量作为该点的灰度值;
2)Gray = max({B , G , R})
最大值法,取彩色图像中的三个分量亮度的最大值作为灰度图的灰度值;
3)Gray = (B + G + R) / 3
将彩色图像中的三分量求平均得到一个灰度图;后两种都属于加权平均法
4)Gray = 0.072169 * B + 0.715160 * G + 0.212671 * R
是opencv开发库所采用的一种求灰度值算法
5)Gray = 0.11 * B + 0.59 * G + 0.3 * R
从人体生理学角度所提出的一种求灰度值算法(人眼对绿色的敏感最高,对蓝色敏感最低)另外,图像的二值化,就是将图像上的像素点的灰度值设置位0或255这两个极点,也就是将整个图像呈现出明显的只有黑和白的视觉效果。
3.2 图像降噪,去除干扰线
现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,为了减少数字图像中噪声的过程称为图像降噪。
3.3 图像腐蚀、膨胀处理
图像的腐蚀就是图像的一部分区域与指定的核进行卷积,求核的最小值并赋值给指定区域。 腐蚀可以理解为图像中高亮区域的领域缩小。图像的膨胀是将图像的一部分区域与指定的核进行卷积,求核的最大值并赋值给指定区域。 膨胀可以理解为图像中高亮区域的领域扩大。
3.4 图像分割
图像分割就是把图像分成若干个特定的、具有独特性质的区域,以便提取感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。
3.5 字符归一化
就是将分割好的图像内的字符归一化到一个标准模板大小;归一化的理想结果就是:归一化到标准模板大小;倾斜校正;笔画宽度归一化;字形归一化。
4 数字处理的Java实现
下面对主要的数字图像处理操作的Java实现进行介绍,以二值化处理为例。
另外,数字图像处理还有、数字图像边缘检测去噪,字符化等基本操作,数字图像边缘检测与文献2的类似,读者可以参考文献2,由于篇幅限制,这里不再赘述。
5 结束语
本文介绍了java技术处理医学图像的过程和关键实现。后期数字图像处理还包括图像的识别,利用opencv识别库,可以方便地对处理的图像进行识别,证明了系统具有良好的扩展性。
参考文献
[1] 刘伟.基于INTERNET的医学图像传输与发布系统的研究[D].泰安:泰山医学院,2007.
[2] 刘娜,童小念.数字图像边缘检测的Java实现[J].电脑知识与技术,2007(7):235-236.
[3] 毕文杰,李慎江.DICOM医学影像文件格式与常见格式的转换[J].医疗卫生装备,2008(10):154-156.
[4] 张德成,孙莉.基于Java的医学图像数据接口[J].信息技术,2008(3):115-117.
[5] 康晓东.医学影像图像处理[M].北京:人民卫生出版社,2009.
【通联编辑:朱宝贵】
转载注明来源:https://www.xzbu.com/8/view-15064297.htm