对图片进行边缘检测在很多领域是非常重要的,例如:车牌号码的识别。边缘检测用到的算法我这里既不关心也不去深究了,只提供算法,对算法有兴趣的读者可以自己去找找图像处理的书参考下,或者也可以给我留言。
public final BufferedImage getPicEdge(BufferedImage originalPic) {
int imageWidth = originalPic.getWidth();
int imageHeight = originalPic.getHeight();
BufferedImage newPic = new BufferedImage(imageWidth, imageHeight,
BufferedImage.TYPE_3BYTE_BGR);
float[] elements = { 0.0f, -1.0f, 0.0f, -1.0f, 4.0f, -1.0f, 0.0f,
-1.0f, 0.0f };
// AffineTransform at = new AffineTransform();
Kernel kernel = new Kernel(3, 3, elements);
ConvolveOp cop = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);
cop.filter(originalPic, newPic);
return newPic;
}
以上算法大体思路是:拿到一个图片的内存对象:BufferedImage,然后创建一个和原始图片一样大小的新的BufferedImage内存对象,将经过处理后的图片信息存在新的内存对象里,并返回。
运行效果图:
边缘检测前的图片:
边缘检测后的图片:
具体的程序代码请参考附件。
文章地址:
http://javapub.iteye.com/blog/685468
相关文章
Java图像图片 边缘检测 http://javapub.iteye.com/blog/685468
Java图像变灰 http://javapub.iteye.com/blog/687082
Java 给图片增加 水印图片 水印文字 [url]Java 给图片增加 水印图片 水印文字[/url]
Java图像渐变 http://javapub.iteye.com/blog/736799
Java将大图片转成小图片 http://javapub.iteye.com/blog/666607
分享到:
相关推荐
在Java编程语言中,对图片进行高级处理包括各种图像操作,如渐变、锐化和边缘检测等。这些技术在图像处理和计算机视觉领域中至关重要,可以用于改善图像质量、识别图像特征或创建视觉效果。以下是对这些概念的详细...
本项目“java+图像边缘检测系统”是利用Java编程语言实现的一套图像边缘检测算法,旨在通过各种不同的算子进行卷积运算来识别图像的边缘。 首先,我们来了解一下边缘检测的基本概念。边缘检测是通过对图像进行分析...
图像边缘检测是图像处理中的关键步骤,用于识别和提取图像中的边界信息,这对于图像分析、目标识别和机器视觉等应用至关重要。在Java中实现边缘检测,通常会涉及到一系列的算法和技术,这里主要介绍的是Canny边缘...
数字图像边缘检测的Java实现资料.pdf
在图像处理领域,锐化和边缘检测是两个关键的技术,用于增强图像的细节和识别图像中的边界。在本文中,我们将深入探讨使用VC++实现这些技术的原理与方法,包括微分运算、梯度锐化算子、Roberts边缘检测、Sobel边缘...
在这个项目中,我们将深入探讨如何使用Java结合OpenCV库实现图像的灰度化、二值化、轮廓描边以及边缘检测等基本操作。这些功能在图像分析、识别和机器学习应用中扮演着重要角色。 首先,我们来看**灰度化**。灰度化...
Canny边缘检测算法是一种多阶段边缘检测算法,广泛应用于图像处理领域。该算法的主要目的是找出图像中的最佳边缘,其过程包括高斯滤波、计算梯度幅度与方向、非极大值抑制以及双阈值检测与边缘连接。 #### 二、Java...
JAVA可以结合边缘检测的结果,采用阈值分割、区域生长、水平集等方法进行图像分割。例如,Otsu阈值法可以自动确定最佳分割阈值,以区分前景和背景。 至于平滑处理,其主要目的是减小图像噪声或模糊图像的不连续性。...
本项目基于JAVA语言,涵盖了多个关键的图像处理技术,包括边缘检测、图像增强、图像分割、平滑和图像变换,且具有图形用户界面(GUI),使得操作更为直观便捷。 1. **边缘检测**:边缘是图像中亮度或颜色发生显著...
本教程将深入探讨如何使用OpenCV读取图像文件,将其转换为灰度图像,并执行边缘检测。以下是一个详细的知识点说明: 1. **OpenCV简介**: OpenCV是一个跨平台的计算机视觉库,它包含了大量的图像处理和计算机视觉...
### 基于Java的有噪图像边缘检测算法的研究 #### 概述 本文献主要研究了一种基于Java编程语言的图像处理技术,用于改善有噪图像的质量,并准确地提取图像边缘。研究的核心在于利用模糊隶属度的加权均值滤波器来...
OpenCV 提供了 Canny 边缘检测、Hough 线变换等算法来寻找图像中的直线结构,这些直线可能对应于文本行。 3. 文本分割:一旦找到潜在的文字区域,我们需要进一步分割出单个字符。这可能涉及到连通组件分析,以便将...
开发者可以通过这些过滤器对图像进行一系列复杂的操作,比如模糊、锐化、边缘检测等。 在开发过程中,`Manifest`文件通常包含了关于Java应用程序的元数据,如主类名和依赖库。`build.xml`是Ant构建工具的配置文件,...
用java实现的图像二值化,sobel边缘检测,差分边缘检测,膨胀、腐蚀等效果。 偷懒没有加入“打开”对话框,直接在代码中指定图像文件了, String file1="d:\\pdata\\lenac128.jpg"; 如果要打开其他文件,直接...
2. 界面可以采用MATLAB、VC++、Java等编程语言设计,要求界面能够读入并显示图片,通过各种控件选择并进行图像的边缘检测操作,操作结果在对比窗口中显示。 3. 图像边缘检测功能至少包括单方向一阶微分检测(水平/ ...
本项目是关于“基于Java的贝叶斯图片识别并分类的算法”,其核心在于利用贝叶斯定理对图像进行分析,从而实现自动化分类。 首先,我们要理解贝叶斯分类的基本原理。贝叶斯分类是一种统计分类技术,它基于贝叶斯定理...
边缘检测是计算机视觉领域中的一个基础且重要的环节,它用于识别图像中不同物体或区域的边界。OpenCV是一个强大的开源计算机视觉库,广泛应用于图像处理和计算机视觉算法的实现,包括边缘检测。在这个主题中,我们将...
"java 照亮边缘"可能指的是利用Java进行图像处理时的一种技术,即边缘检测。边缘检测是图像处理的重要环节,用于识别图像中的边界,这些边界通常对应着物体的轮廓。通过这个过程,我们可以提取图像的关键信息,有助...
在Java中进行图像识别,...总的来说,Java图像识别并判断两图相似性涉及到多个层次的技术,从简单的像素比对到复杂的深度学习模型。开发者可以根据具体需求和环境选择合适的方法,并利用现有的开源工具简化实现过程。