OpenCV基础_二
阈值和平滑处理
cv2.threshold()二值化函数
ret,thresh = cv2.threshold(src, thresh, maxval, type[, dst])
- 参数
src:所要进行二值化处理的灰度图
thresh:阈值
maxval:最大值
type:有八种常见类型
- 返回值
ret:参数中指定的阈值thresh
thresh:二值化后的灰度图
平滑处理
原图:
def cv_show(name,img):
cv2.imshow(name,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
- 均值滤波 简单的平均卷积操作
img = cv2.imread('ZS.png')
blur = cv2.blur(img,(3,3))
cv_show('img',blur)
- 方框滤波 基本和均值滤波一样 (可以选择归一化,若不归一化容易越界,越界取255)
img = cv2.imread("ZS.png")
box = cv2.boxFilter(img,-1,(3,3),normalize=True)
cv_show('img',box)
- 高斯滤波
img = cv2.imread("ZS.png")
aussian = cv2.GaussianBlur(img,(3,3),1)
cv_show('img',aussian)
- 中值滤波 用中值代替
img = cv2.imread("ZS.png")
median = cv2.medianBlur(img,5)
cv_show('img',median)
- 均值滤波 高斯滤波 中值滤波 比较
res = np.hstack((blur,aussian,median)) cv_show('res',res)
Canny边缘检测
利用高斯滤波对图像平滑处理
Canny(img,minval,maxval)利用高阈值进行非最大值抑制
高于高阈值 保留
低于低阈值 舍弃
处于高阈值和低阈值之间若和保留点项链则保留,否则舍弃
阈值越高,条件越苛刻,符合的边缘越少
img = cv2.imread('1.jpg')
v1 = Canny(img,100,200)
v2 = Canny(img,50,100) res = np.hstack((v1,v2))
cv_show('res',res)原图:
边缘检测图:
OpenCV基础_二的更多相关文章
- OpenCv基础_三
轮廓检测 图像金字塔 上采样,图像变大一倍,矩阵用0填充 img = cv2.imread('1,jpg') cv_show('img',img) up = cv2.pyrUp(img) cv_sho ...
- OpenCv基础_四
Harris角点检测 理解 内部点:蓝框所示,无论滑动窗口水平滑动还是竖直滑动,框内像素值都不会发生大的变化 边界点:黑框所示,滑动窗口沿着某一个方向滑动框内像素点不会发生大的改变,但是沿着另一个方向 ...
- OpenCv基础_一
图片的读取和展示 import cv2 img = cv2.imread('1.jpg') cv2.imshow('img',img) cv2.waitKey(0) cv2.destroyAllWin ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
- java基础(二章)
java基础(二章) 一,变量 1.变量是内存中的一个标识符号,用于存储数据 2.变量命名规则 l 必须以字母.下划线 _ .美元符号 $ 开头 l 变量中,可以包括数字 l 变量中,不能出现特 ...
- OpenCV探索之路(二十四)图像拼接和图像融合技术
图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要. 再举一个身边的例子吧,你用你的手 ...
- 运维之Linux基础(二)
运维之Linux基础(二) 1. file 命令基期用法 2. 文件系统 Linux的文件系统结构是树状结构,所有的文件都在/root跟目录下 /boot:系统启动相关的文件, 如:内核.initrd ...
- SuperSocket基础(二)-----一个完成SocketServer项目
SuperSocket基础(二)-----一个完成SocketServer项目 由于时间关系未能及时更新,关于SuperSocket,对于初学者而言,一个SuperSock的Server真的不好写.官 ...
随机推荐
- Python--操作列表
Python--操作列表 目录 Python--操作列表 一.遍历整个列表 1. 深入研究循环 2. 在for循环中执行更多操作 3. 在for循环结束后执行一些操作 二.避免缩进错误 1. 忘记缩进 ...
- docker中run和start的区别?
docker run 后面指定的是一个镜像 而docker start指定的是一个容器 docker run是利用镜像生成容器,并启动容器,而docker start是启动一个之前生成过的容器
- Lesson17——NumPy 统计函数
NumPy 教程目录 1 NumPy 统计函数 NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等. 函数说明如下 1.1 统计 method descripti ...
- Solution -「LOCAL」割海成路之日
\(\mathcal{Description}\) OurOJ. 给定 \(n\) 个点的一棵树,有 \(1,2,3\) 三种边权.一条简单有向路径 \((s,t)\) 合法,当且仅当走过一条 ...
- axios请求方式
`// 使用默认进行请求(默认是get) axios({ url: "http://localhost:9999/student/student/getAllStudent" }) ...
- Java超全大纲.jpg
Java超全大纲.jpg
- ceph-deploy离线部署ceph集群及报错解决FAQ
ceph-deploy部署ceph集群 环境介绍 主机名 ip地址 操作系统 角色 备注 ceph-node1 10.153.204.13 Centos7.6 mon.osd.mds.mgr.rgw. ...
- Aesop_secret的writeup
大家好,这次我为大家带来的是攻防世界misc部分Aesop_secret的writeup. 先下载附件,是一个压缩包,紧接着解压,发现一个gif文件.用浏览器打开,注意到这个gif文件播放时每一 ...
- HDFS成员的工作机制
NameNode工作机制 nn负责管理块的元数据信息,元数据信息为fsimage和edits预写日志,通过edits预写日志来更新fsimage中的元数据信息,每次namenode启动时,都会将磁盘中 ...
- HP 电脑 - Windows 10 如何设置虚拟内存
HP 电脑 - Windows 10 如何设置虚拟内存(新) 适用于安装 Windows 10 系统的 HP 电脑 Windows 中运用了虚拟内存技术,即分出一部分硬盘空间来充当内存使用.当内存 ...








