Java+opencv3.2.0之canny算子
来源:互联网 发布:vscode md转html 编辑:程序博客网 时间:2024/05/21 08:41
Canny边缘检测算子是John F.Canny于1986年开发出来的一个多级边缘检测算法。
Canny边缘检测的步骤:
(1)消除噪声,一般使用高斯平滑滤波器卷积降噪
(2)计算梯度幅值和方向,此处按照sobel滤波器步骤来操作
(3)非极大值抑制,排除非边缘像素
(4)滞后阈值(高阈值和低阈值),若某一像素位置的幅值超过高阈值,该像素被保留为边缘像素;若小于低阈值,则被排除;若在两者之间,该像素仅在连接到高阈值像素时被保留。推荐高低阈值比在2:1和3:1之间
函数:Imgproc.Canny(image, edges, threshold1, threshold2, apertureSize, L2gradient);
参数说明:
image:输入图像,即源图像,填Mat类的对象即可,且需为单通道8位图像
threshold1:双阀值抑制中的低阀值
threshold2:双阀值抑制中的高阀值
apertureSize:sobel算子模板大小,默认为3
L2gradient:计算图像梯度幅值的标识,有默认值false,梯度幅值指沿某方向的方向导数最大的值,即梯度的模
示例代码:
public static void main(String[] args) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat src = Imgcodecs.imread("F:\\2011031213205880528.jpg", Imgcodecs.IMREAD_GRAYSCALE); Mat dst = src.clone(); Imgproc.GaussianBlur(src, dst, new Size(3, 3), 0); Imgproc.Canny(dst, dst, 40, 100); Imgcodecs.imwrite("F:\\dst.jpg", dst); }
源图像:
Canny边缘检测:
阅读全文
0 0
- Java+opencv3.2.0之canny算子
- Java+opencv3.2.0之sobel算子
- Java+opencv3.2.0之Laplacian算子
- opencv3学习之边缘检测(Canny/Sobel/Laplacian算子)
- 边缘检测之Canny算子
- 边缘检测算子之Canny
- opencv学习之Canny算子
- opencv3中Canny算子下的轮廓检测与绘制
- 【OpenCV3图像处理】边缘检测:Sobel算子,Laplace算子,Canny算子
- Canny算子
- canny算子
- canny算子
- canny算子
- canny算子
- Canny算子
- Canny算子
- Canny算子
- Canny算子
- STM8
- STL之算法
- Shiro第五篇【授权过滤、注解、JSP标签方式、与ehcache整合】
- (模拟赛)阅读计划
- 比特币、以太坊、hyperledger技术宏观比较
- Java+opencv3.2.0之canny算子
- 《统计学习方法》 朴素贝叶斯 贝叶斯估计 Python实现
- 《笨办法学python》加分习题19——我的答案
- web修改标签图标
- LightOJ 1259 Goldbach`s Conjecture
- Palindrome回文串
- 138. Copy List with Random Pointer
- PAT A1069
- 几种方法来实现scp拷贝时无需输入密码