图像腐蚀 java_OpenCV3 图像膨胀 dilate、腐蚀 erode、提取图像中的条形码 JAVA 实现...

本文详细介绍了如何使用Java和OpenCV3进行图像腐蚀和膨胀操作,包括函数讲解、案例代码及条形码的提取。通过腐蚀和膨胀,可以消除噪声、分割图像元素和查找极大值区域。文章提供GitHub资源,包含完整代码示例。
摘要由CSDN通过智能技术生成

关于 JAVA 学习 OpenCV 的内容,函数讲解,案例代码内容我均整理在 GitHub【OpenCV3-Study-JAVA 】上

下面代码中所需的项目结构,图片,请访问 GitHub 获取。

代码展示

package opencv;

import opencv.base.OpenCVStudyBase;

import org.junit.Test;

import org.opencv.core.*;

import org.opencv.imgcodecs.Imgcodecs;

import org.opencv.imgproc.Imgproc;

import java.util.ArrayList;

import java.util.List;

/**

* @Author : alexliu

* @Description : 主要学习

* 1. 图像腐蚀

* 2. 图像膨胀

* 3. 查找条形码案例

*/

public class StudyTest_8 extends OpenCVStudyBase{

/*

* 腐蚀,膨胀都属于形态学滤波。

*

* 数学形态学中,基本的运算有:

* 二值腐蚀和膨胀

* 二值开闭运算

* 骨架抽取

* 极限腐蚀

* 灰值腐蚀和膨胀

* 灰值开闭运算

* 灰值形态学梯度

* .....

*

*

* 腐蚀,膨胀的主要功能如下:

* 1. 消除噪声

* 2. 分割(isolate)出独立的图像元素,在图像中连接(join)相邻的元素

* 3. 寻找图像中的明显的极大值区域或极小值区域

* 4. 求出图像的梯度

*

* 注意:

* 腐蚀和膨胀仅针对`图像高亮`区域进行操作。

*

*/

private String save_dir = "study-output/study-opencv-8";

/*

* 如何创建腐蚀、膨胀操作的核

*

* 腐蚀和膨胀均有一个 Mat kernel 参数。这个参数就是腐蚀/膨胀操作的核,它是一个矩阵结构元素(Mat)

* OpenCV 在 Imgproc 包中,提供了 getStructuringElement 的函数,来方便创建腐蚀/膨胀的核

*

* getStructuringElement 原型方法:

* getStructuringElement(int shape, Size ksize, Point anchor)

* getStructuringElement(int shape, Size ksize)

*

* 参数:

* shape : Integer 核的结构类型

* -- C++ 有四种(多一个用户自定义),其他语言3种

* -- MORPH_RECT , 一个矩形结构元素

* -- MORPH_ELLIPSE , 一个椭圆结构元素

* -- MORPH_CROSS , 一个十字形结构元素

* ksize : Size 结构元素的大小

* anchor : Point 元素中瞄点的位置。默认值 (-1,-1)表示在元素的中心位置。注意:只有十字形结构元素依赖瞄点,其他形状类型仅仅影响结果的偏移。

*

* 原文:

* shape – Element shape that could be one of the following:

* MORPH_RECT - a rectangular structuring element

* MORPH_ELLIPSE - an elliptic structuring element, that is, a filled ellipse inscribed into the rectangle Rect(0, 0, esize.width, 0.esize.height)

* MORPH_CROSS - a cross-shaped structuring element

* CV_SHAPE_CUSTOM - custom structuring element (OpenCV 1.x API)

* ksize – Size of the structuring element.

* anchor – Anchor position within the element. The default value (-1, -1) means that the anchor is at the center.

* Note that only the shape of a cross-shaped element depends on the anchor position.

* In other cases the anchor just regulates how much the result of the morphological operation is shifted.

*/

/*

* ------------------------------------------------------------------------------------------------------------

*

* 腐蚀

*

* 1. 腐蚀说明:

* 图像的一部分区域与指定的核进行卷积,求核的最`小`值并赋值给指定区域。

* 腐蚀可以理解为图像中`高亮区域`的'领域缩小'。

* 意思是高亮部分会被不是高亮部分的像素侵蚀掉,使高亮部分越来越少。

*

* 2. 腐蚀函数(erode)

* erode 有3个原型方法

*

* erode(Mat src, Mat dst, Mat kernel, Point anchor, int iterations, in

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值