当前位置:网站首页>OPENCV学习DAY8
OPENCV学习DAY8
2022-08-04 22:55:00 【SKYWALKERS_2397】
Canny边缘检测
1、基本步骤
1)图像降噪。一般使用高斯滤波器,以平滑图像,滤除噪声。
高斯滤波器的模板系数,随着距离模板中心的增大而系数减小。
高斯滤波器相比于均值滤波器对图像个模糊程度较小
#高斯模糊的卷积核里的数值是高斯分布,相当于更重视中间的
aussian = cv2.GaussianBlur(noiseimage, (5, 5), 1 )
2)计算图像梯度。计算图像中每个像素点的梯度强度和大小。
因为梯度是灰度变化明显的地方,而边缘也是灰度变化明显的地方,所以计算图像梯度能够初步得到图像的边缘
3)非极大值抑制。应用非极大值抑制,以消除边缘检测带来的杂散效应。
非极大值抑制,简称为NMS算法。其思想是搜素局部最大值,抑制非极大值。目标检测的过程中在同一目标的位置上会产生大量的候选框,这些候选框相互之间可能会有重叠,此时我们需要利用非极大值抑制找到最佳的目标边界框,消除冗余的边界框
4)阈值筛选。应用双阈值检测来确定真实的和潜在的边缘,通过抑制孤立的弱边缘最终完成边缘检测
定义了两个参数,minval和maxval。
小于minval可认为不是边界,舍弃。
大于maxval则处理为边界。
大于minval,小于maxval,与边界相连就保留,否则舍弃。
使用opencv自带函数的运行代码:
import cv2
import numpy as np
img = cv2.imread('image1.png',cv2.IMREAD_GRAYSCALE )
v1 = cv2.Canny(img, 80, 150)
v2 = cv2.Canny(img, 50, 100)
cv2.imshow('init',img)
cv2.imshow('v1', v1)
cv2.imshow('v2', v2)
cv2.waitKey(0)
cv2.destroyAllWindows()
结果显示



边栏推荐
- 基于内容的图像检索系统设计与实现--颜色信息--纹理信息--形状信息--PHASH--SHFT特征点的综合检测项目,包含简易版与完整版的源码及数据!
- Linux系统重启和停止Mysql服务教程
- 逆序对的数量
- typeScript-promise
- Based on the results of the facts
- 仪表板展示 | DataEase看中国:数据呈现中国资本市场
- One trick to cure pycharm DEBUG error UnicodeDecodeError: 'utf-8' codec can't decode
- Qt中的常用控件
- 重新配置chrome中ffmpeg插件
- 一点点读懂Thremal(二)
猜你喜欢
随机推荐
今天又做了三个梦,其中一个梦梦里的我还有意识会思考?
【3D建模制作技巧分享】zbrush贴图映射小技巧
enumerate()函数
线上虚拟展馆展示具有哪些优势
The Go Programming Language (Introduction)
基于事实的讨论
历史上的今天:PHP公开发布;iPhone 4 问世;万维网之父诞生
基于内容的图像检索系统设计与实现--颜色信息--纹理信息--形状信息--PHASH--SHFT特征点的综合检测项目,包含简易版与完整版的源码及数据!
【游戏建模模型制作全流程】使用ZBrush制作骷髅王
【3D建模制作技巧分享】ZBrush如何设置笔刷快捷键
视频gif如何制作?试试这个视频制作gif神器
kernel hung_task死锁检测机制原理实现
【字符串函数内功修炼】strcpy + strcat + strcmp(一)
使用代理对象执行实现类目标方法异常
【项目实战】仿照Room实现简单管理系统
亿流量大考(3):不加机器,如何抗住每天百亿级高并发流量?
Shell expect real cases
【论文笔记KDD2021】MixGCF: An Improved Training Method for Graph Neural Network-based Recommender Systems
【3D建模制作技巧分享】ZBrush如何使用Z球
文章占位 文章占位









