Opencv图像二值化操作
图像二值化就是根据阈值将数字图像分为两部分:大于阈值的像素集合和小于阈值的像素集合。二值化操作分为全局二值化和局部二值化:
- 全局二值化:是针对整幅数字图像来说的,设置一个阈值,让整幅数字图像的所有像素值与该阈值进行比较;
- 局部二值化:是针对一幅数字图像的某一部分(区域)来说的,设置一个阈值,让该区域的所有像素值与该阈值进行比较,因此,当一幅数字图像上的不同部分具有不同亮度时,在对其进行二值化操作时,需要采用自适应阈值,让不同的区域取不同的阈值;
在Opencv中对上述两种二值化操作均提供了对应的函数。
全局二值化
import cv2cv2.threshold(src,threshold,maxValue,Methods)
参数
src
:灰度图;threshold
:用来对像素值进行分类的阈值;maxValue
:当像素值高于(有时是小于)阈值时应该被赋予的新的像素值;Methods
:二值化方法。
二值化方法具体包括如下五种:
cv2.THRESH_BINARY
:大于阈值的像素点的灰度值设定为maxValue
(如 8 位灰度值最大为 255),灰度值小于阈值的像素点的灰度值设定为 0。cv2.THRESH_BINARY_INV
:大于阈值的像素点的灰度值设定为 0,而小于该阈值的设定为maxValue
。cv2.THRESH_TRUNC
:像素点的灰度值小于阈值不改变,大于阈值的灰度值的像素点就设定为该阈值。cv2.THRESH_TOZERO
:像素点的灰度值小于该阈值的不进行任何改变,而大于该阈值的部分,其灰度值全部变为 0。cv2.THRESH_TOZERO_INV
:像素点的灰度值大于该阈值的不进行任何改变,像素点的灰度值小于该阈值的,其灰度值全部变为 0。
局部二值化
import cv2cv2.adaptiveThreshold(src, maxValue, adaptive_method, threshold_type, block_size, param1)
参数
src
:灰度图;maxValue
:当像素值高于(有时是小于)阈值时应该被赋予的新的像素值。adaptive_method
:自适应阈值计算方法:CV_ADAPTIVE_THRESH_MEAN_C
和CV_ADAPTIVE_THRESH_GAUSSIAN_C
;threshold_type
:二值化方法:CV_THRESH_BINARY
和CV_THRESH_BINARY_INV
;block_size
:用来计算阈值的像素邻域大小param1
:与自适应阈值计算方法有关的参数,当自适应阈值计算方法为CV_ADAPTIVE_THRESH_MEAN_C
,先求出块中的均值,再减掉param1
;
当自适应阈值计算方法为CV_ADAPTIVE_THRESH_GAUSSIAN_C
,先求出块中的加权和(gaussian
), 再减掉param1
。
Opencv图像二值化操作相关推荐
- OpenCV图像二值化,Python
OpenCV图像二值化,Python 原图: 二值化处理(只有黑和白): import cv2if __name__=="__main__":image = cv2.imread( ...
- OpenCV-Python学习(10)—— OpenCV 图像二值化处理(cv.threshold)
1. 学习目标 理解图像的分类,不同类型的图像的区别: 对图像进行二值化处理,对[ cv.threshold ]函数的理解. 2. 图像分类 2.1 不同类型图像说明 按照颜色对图像进行分类,可以分为 ...
- python opencv图像二值化函数_python opencv 二值化 计算白色像素点的实例
python opencv 二值化 计算白色像素点的实例 贴部分代码 #! /usr/bin/env python # -*- coding: utf-8 -*- import cv2 import ...
- [转载] python3 opencv 图像二值化笔记(cv2.adaptiveThreshold)
参考链接: python opencv 基础6: cv2.threshold()二值图像 前一篇研究了opencv二值化方法threshold的使用,但是这个方法也存在一定的局限性,假如有一张图存在明 ...
- python3 opencv 图像二值化笔记(cv2.adaptiveThreshold)
前一篇研究了opencv二值化方法threshold的使用,但是这个方法也存在一定的局限性,假如有一张图存在明显的明暗不同的区域,如下图 可以看到左边部分因为整体偏暗,导致二值化后变成全黑,丢失了所有 ...
- opencv 二值化 python_Python OpenCV 图像二值化-阈值分割
1.二值化处理 # 手动二值化处理 # 设置阈值大小 threshold thresh = 125 # 设置超过阈值像素值的最大值 maxval = 255 # THRESH_BINARY:超过阈值为 ...
- OpenCV-Python 图像二值化
OpenCV-Python 图像二值化 一.什么是图像二值化 二.图像二值化 Ⅰ先获取阈值: Ⅱ根据阈值去二值化图像 ⅢOpenCV中的二值化方法 三.全局阈值函数cv2.threshold · 函数 ...
- VTK修炼之道31:图像二值化_阈值法
1.阈值法实现图像二值化操作 二值图像和label图像是图像分割中经常用到的两种图像. 二值图像的每个像素只有两种可能的取值,例如0或者255.通常0代表图像的背景,而255代码图像前景.图像二值化是 ...
- OpenCV+python:图像二值化
1,图像二值化概念及方法 一个像素点的颜色是由RGB三个值来表现的,所以一个像素点矩阵对应三个颜色向量矩阵,分别是R矩阵,G矩阵,B矩阵,它们也都是同样大小的矩阵. 在图像处理中,用RGB三个分量(R ...
- 【OpenCV 4开发详解】图像二值化
本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...
最新文章
- html5的video元素学习手札
- js字符串截取函数substr substring slice使用对比
- linux下查看线程数的几种方法
- sap内表 table_LINE
- Solr的安装步骤及增删改查代码示例
- 【Elasticsearch】语言处理系列之打字或拼写错误 模糊匹配 字段纠错 Fuzzy multi_match
- docker运行镜像报错:write init-p: broken pipe
- Server Application Error(IIS)
- java中Collection和Collections的区别和联系
- 远程桌面与本计算机共享文件,win7系统开启远程桌面共享文件的方法
- linux 桌面什么图标好看,Xenlism WildFire:Linux桌面下的一款漂亮图标主题
- defy+me525+android2.3.6官方镜像包,V大DEFY/DEFY+ ME525 ME525+ 2.3.6巅峰优化版0.86(红头)...
- postgresql源码安装
- 解决String cannot be cast to java.util.List报错
- Endsley 的情境意识理论回顾
- python第五次作业——潘芊睿
- android 微信 https 证书,微信https未授权证书究竟是什么意思
- 【VM】权限不足,无法访问文件
- 安卓修改包名和Project
- 随访系统学习笔记之ModelBinder