基于Sobel算子的图像边缘检测
一、Sobel算子
Sobel边缘检测算法比较简单,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,然而在很多实际应用的场合,sobel边缘却是首选,Sobel算子是高斯平滑与微分操作的结合体,所以其抗噪声能力很强,用途较多。尤其是在对效率要求较高,而对细纹理不太关系的时候。
使用Sobel算子提取图像边缘分3个步骤:
- 提取X方向的边缘,X方向一阶Sobel边缘检测算法为:
[−101−202−101]\begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1\end{bmatrix} \quad −1−2−1000121 - 提取Y方向的边缘,Y方向一阶Sobel边缘检测算法为:
[−1−2−1000121]\begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1\end{bmatrix} \quad −101−202−101 - 综合两个方向的边缘信息得到整幅图像的边缘。
二、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算子的图像边缘检测相关推荐
- 【OpenCV图像处理入门学习教程四】基于LoG算子的图像边缘检测
OpenCV图像处理入门学习教程系列,上一篇第三篇:基于SIFT特征和SURF特征的微旋转图像拼接与融合生成全景图像的比较 LoG边缘检测算子 LoG边缘检测算子是David Courtnay Mar ...
- matlab实现sobel边缘检测图像,基于Sobel算子图像边缘检测的MATLAB实现
<基于Sobel算子图像边缘检测的MATLAB实现>由会员分享,可在线阅读,更多相关<基于Sobel算子图像边缘检测的MATLAB实现(3页珍藏版)>请在人人文库网上搜索. 1 ...
- 基于小波的图像边缘检测,小波变换边缘检测原理
1.什么是"小波神经网络"?能干什么用呀 小波神经网络(Wavelet Neural Network, WNN)是在小波分析研究获得突破的基础上提出的一种人工神经网络.它是基于小波 ...
- sobel算子检测图像清晰度
文章目录 前言 概念 图像处理.视觉等基础概念 清晰度判断概念 sobel算子是什么? Sobel原理 Sobel实现 Sobel应用 改进的八方向sobel算子基于的理论 视觉系统 sobel算子实 ...
- 基于FPGA的实时图像边缘检测系统设计(上)
今天给大侠带来基于FPGA的实时图像边缘检测系统设计,由于篇幅较长,分三篇.今天带来第一篇,上篇,话不多说,上货. 导读 随着科学技术的高速发展,FPGA在系统结构上为数字图像处理带来了新的契机.图像 ...
- 应用sobel算子算法c语言,Canny算子与Sobel算子求图像边缘的C代码实现
*Canny算子与Sobel算子求图像边缘笔记* 1.Canny求边缘算法原理简述 Canny检测边缘主要分为以下 四个算法步骤: A:噪声去除 canny算子是通过对每个像素点求一阶导数来找到梯度明 ...
- OpenCV_基于Laplacian算子的图像边缘增强
下面代码实现了基于Laplacian算子的图像边缘增强 . 算法: 边缘增强图像 = 源图像 + 边缘图像 // 基于Laplacian算子的图像边缘增强 // Author: www.icvpr.c ...
- python sobel算子_利用sobel算子计算图像的梯度(python+opencv)
sobel算子计算的梯度图是带有方向的 代码实现如下: #coding=utf-8 import cv2 import numpy as np #利用sobel算子计算图像的梯度 img=cv2.im ...
- java 提取轮廓_TensorFlow 卷积操作模拟sobel算子提取图像轮廓
注意: sobel算子不保证结果在0-255,需要做一次归一化处理,再乘以255 输出的数据shape与图像的shape不一样,需要一次转化 效果 代码 import matplotlib.pyplo ...
最新文章
- 三个可能会被计算机视觉技术改变的行业
- facade 提供一个接口,通过这个接口,可以使一个子系统更容易使用。
- 16.Hadoop架构再探讨第2部分
- ajax原理及其优缺点
- Spring boot @Transactional
- HBase 基本Java API
- 中兴通讯与寒武纪合作 加速5G时代边缘智能
- 协议圣经 四 rtspclient
- mysql utf8mb4 bin_MySQL中utf8字符集、排序规则及utf8mb4_bin列大小写不敏感方法
- linux adb工具 终极总结
- ndroid分辨率 dpi 屏幕尺寸 对比图
- js传参不是数字_js中函数传参方式
- 【毕业设计】大数据疫情数据分析及可视化系统 - python
- Android中JNI开发之常见错误
- Z05 - 006、网站转化以及漏斗分析(转化分析)
- 《计算还款年限-月还款额》
- 扇贝编程的python课怎么样_扇贝编程-人人能学会的python课 a l’App Store
- No input file specified 出现的原因及解决方法
- 洞泾智能机器人产业基地_松江洞泾加快布局人工智能全产业链 腾讯优图创新基地揭牌...
- wps横向计算机在哪里,Win7系统如何横向打印WPS文件
热门文章
- Windebug Setup Via USB3.0
- 【C++】右值引用、移动语义、完美转发(下篇)
- 小学学计算机学flash动画,【计算机专业论文】计算机Flash动画教学思考(共1930字)...
- 【PAT乙级】1031 查验身份证
- Hibernate 原理及实战
- I2C专题(二)—— STM32驱动AT24C02
- matlab中pzmap函数不同图标,控制系统在matlab中的函数简介
- 智慧海洋建设——Task1 地理数据分析常用工具学习心得
- 0x80070070 错误
- 优麒麟linux安装教程,百度网盘Linux版安装指引:搭配优麒麟运行更完美