一、Sobel算子

Sobel边缘检测算法比较简单,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,然而在很多实际应用的场合,sobel边缘却是首选,Sobel算子是高斯平滑与微分操作的结合体,所以其抗噪声能力很强,用途较多。尤其是在对效率要求较高,而对细纹理不太关系的时候。
       使用Sobel算子提取图像边缘分3个步骤:

  1. 提取X方向的边缘,X方向一阶Sobel边缘检测算法为:
    [−101−202−101]\begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1\end{bmatrix} \quad ​−1−2−1​000​121​​
  2. 提取Y方向的边缘,Y方向一阶Sobel边缘检测算法为:
    [−1−2−1000121]\begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1\end{bmatrix} \quad ​−101​−202​−101​​
  3. 综合两个方向的边缘信息得到整幅图像的边缘。

二、Python代码实现

import cv2
import os
def SobelSeg(image):img = cv2.Sobel(image, cv2.CV_32F, 0, 1, ksize=3)cv2.namedWindow('W3',cv2.WINDOW_NORMAL)cv2.imshow("W3", img)cv2.waitKey(delay=0)return imgdef convert(input_dir, output_dir):for image_name in os.listdir(input_dir):path = input_dir + "/" + image_nameimage = cv2.imread(path)image_1 = SobelSeg(image)cv2.imwrite(output_dir + "/" + "0" + image_name , image_1)if __name__ == '__main__':input_dir = r"C:\Users\22476\Desktop\Graduation Project\Edge_test_image\original"output_dir = r"C:\Users\22476\Desktop\Graduation Project\Edge_test_image\result_32F"convert(input_dir, output_dir)

三、实现效果



四、参考文章

OpenCV——Sobel边缘检测

python+OpenCV图像处理(八)边缘检测

基于Sobel算子的图像边缘检测相关推荐

  1. 【OpenCV图像处理入门学习教程四】基于LoG算子的图像边缘检测

    OpenCV图像处理入门学习教程系列,上一篇第三篇:基于SIFT特征和SURF特征的微旋转图像拼接与融合生成全景图像的比较 LoG边缘检测算子 LoG边缘检测算子是David Courtnay Mar ...

  2. matlab实现sobel边缘检测图像,基于Sobel算子图像边缘检测的MATLAB实现

    <基于Sobel算子图像边缘检测的MATLAB实现>由会员分享,可在线阅读,更多相关<基于Sobel算子图像边缘检测的MATLAB实现(3页珍藏版)>请在人人文库网上搜索. 1 ...

  3. 基于小波的图像边缘检测,小波变换边缘检测原理

    1.什么是"小波神经网络"?能干什么用呀 小波神经网络(Wavelet Neural Network, WNN)是在小波分析研究获得突破的基础上提出的一种人工神经网络.它是基于小波 ...

  4. sobel算子检测图像清晰度

    文章目录 前言 概念 图像处理.视觉等基础概念 清晰度判断概念 sobel算子是什么? Sobel原理 Sobel实现 Sobel应用 改进的八方向sobel算子基于的理论 视觉系统 sobel算子实 ...

  5. 基于FPGA的实时图像边缘检测系统设计(上)

    今天给大侠带来基于FPGA的实时图像边缘检测系统设计,由于篇幅较长,分三篇.今天带来第一篇,上篇,话不多说,上货. 导读 随着科学技术的高速发展,FPGA在系统结构上为数字图像处理带来了新的契机.图像 ...

  6. 应用sobel算子算法c语言,Canny算子与Sobel算子求图像边缘的C代码实现

    *Canny算子与Sobel算子求图像边缘笔记* 1.Canny求边缘算法原理简述 Canny检测边缘主要分为以下 四个算法步骤: A:噪声去除 canny算子是通过对每个像素点求一阶导数来找到梯度明 ...

  7. OpenCV_基于Laplacian算子的图像边缘增强

    下面代码实现了基于Laplacian算子的图像边缘增强 . 算法: 边缘增强图像 = 源图像 + 边缘图像 // 基于Laplacian算子的图像边缘增强 // Author: www.icvpr.c ...

  8. python sobel算子_利用sobel算子计算图像的梯度(python+opencv)

    sobel算子计算的梯度图是带有方向的 代码实现如下: #coding=utf-8 import cv2 import numpy as np #利用sobel算子计算图像的梯度 img=cv2.im ...

  9. java 提取轮廓_TensorFlow 卷积操作模拟sobel算子提取图像轮廓

    注意: sobel算子不保证结果在0-255,需要做一次归一化处理,再乘以255 输出的数据shape与图像的shape不一样,需要一次转化 效果 代码 import matplotlib.pyplo ...

最新文章

  1. 三个可能会被计算机视觉技术改变的行业
  2. facade 提供一个接口,通过这个接口,可以使一个子系统更容易使用。
  3. 16.Hadoop架构再探讨第2部分
  4. ajax原理及其优缺点
  5. Spring boot @Transactional
  6. HBase 基本Java API
  7. 中兴通讯与寒武纪合作 加速5G时代边缘智能
  8. 协议圣经 四 rtspclient
  9. mysql utf8mb4 bin_MySQL中utf8字符集、排序规则及utf8mb4_bin列大小写不敏感方法
  10. linux adb工具 终极总结
  11. ndroid分辨率 dpi 屏幕尺寸 对比图
  12. js传参不是数字_js中函数传参方式
  13. 【毕业设计】大数据疫情数据分析及可视化系统 - python
  14. Android中JNI开发之常见错误
  15. Z05 - 006、网站转化以及漏斗分析(转化分析)
  16. 《计算还款年限-月还款额》
  17. 扇贝编程的python课怎么样_‎扇贝编程-人人能学会的python课 a l’App Store
  18. No input file specified 出现的原因及解决方法
  19. 洞泾智能机器人产业基地_松江洞泾加快布局人工智能全产业链 腾讯优图创新基地揭牌...
  20. wps横向计算机在哪里,Win7系统如何横向打印WPS文件

热门文章

  1. Windebug Setup Via USB3.0
  2. 【C++】右值引用、移动语义、完美转发(下篇)
  3. 小学学计算机学flash动画,【计算机专业论文】计算机Flash动画教学思考(共1930字)...
  4. 【PAT乙级】1031 查验身份证
  5. Hibernate 原理及实战
  6. I2C专题(二)—— STM32驱动AT24C02
  7. matlab中pzmap函数不同图标,控制系统在matlab中的函数简介
  8. 智慧海洋建设——Task1 地理数据分析常用工具学习心得
  9. 0x80070070 错误
  10. 优麒麟linux安装教程,百度网盘Linux版安装指引:搭配优麒麟运行更完美