图像二值化就是根据阈值将数字图像分为两部分:大于阈值的像素集合小于阈值的像素集合。二值化操作分为全局二值化局部二值化

  • 全局二值化:是针对整幅数字图像来说的,设置一个阈值,让整幅数字图像的所有像素值与该阈值进行比较;
  • 局部二值化:是针对一幅数字图像的某一部分(区域)来说的,设置一个阈值,让该区域的所有像素值与该阈值进行比较,因此,当一幅数字图像上的不同部分具有不同亮度时,在对其进行二值化操作时,需要采用自适应阈值,让不同的区域取不同的阈值;

在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_CCV_ADAPTIVE_THRESH_GAUSSIAN_C
  • threshold_type:二值化方法:CV_THRESH_BINARYCV_THRESH_BINARY_INV
  • block_size:用来计算阈值的像素邻域大小
  • param1:与自适应阈值计算方法有关的参数,当自适应阈值计算方法为 CV_ADAPTIVE_THRESH_MEAN_C,先求出块中的均值,再减掉param1
    当自适应阈值计算方法为 CV_ADAPTIVE_THRESH_GAUSSIAN_C ,先求出块中的加权和(gaussian), 再减掉 param1

Opencv图像二值化操作相关推荐

  1. OpenCV图像二值化,Python

    OpenCV图像二值化,Python 原图: 二值化处理(只有黑和白): import cv2if __name__=="__main__":image = cv2.imread( ...

  2. OpenCV-Python学习(10)—— OpenCV 图像二值化处理(cv.threshold)

    1. 学习目标 理解图像的分类,不同类型的图像的区别: 对图像进行二值化处理,对[ cv.threshold ]函数的理解. 2. 图像分类 2.1 不同类型图像说明 按照颜色对图像进行分类,可以分为 ...

  3. python opencv图像二值化函数_python opencv 二值化 计算白色像素点的实例

    python opencv 二值化 计算白色像素点的实例 贴部分代码 #! /usr/bin/env python # -*- coding: utf-8 -*- import cv2 import ...

  4. [转载] python3 opencv 图像二值化笔记(cv2.adaptiveThreshold)

    参考链接: python opencv 基础6: cv2.threshold()二值图像 前一篇研究了opencv二值化方法threshold的使用,但是这个方法也存在一定的局限性,假如有一张图存在明 ...

  5. python3 opencv 图像二值化笔记(cv2.adaptiveThreshold)

    前一篇研究了opencv二值化方法threshold的使用,但是这个方法也存在一定的局限性,假如有一张图存在明显的明暗不同的区域,如下图 可以看到左边部分因为整体偏暗,导致二值化后变成全黑,丢失了所有 ...

  6. opencv 二值化 python_Python OpenCV 图像二值化-阈值分割

    1.二值化处理 # 手动二值化处理 # 设置阈值大小 threshold thresh = 125 # 设置超过阈值像素值的最大值 maxval = 255 # THRESH_BINARY:超过阈值为 ...

  7. OpenCV-Python 图像二值化

    OpenCV-Python 图像二值化 一.什么是图像二值化 二.图像二值化 Ⅰ先获取阈值: Ⅱ根据阈值去二值化图像 ⅢOpenCV中的二值化方法 三.全局阈值函数cv2.threshold · 函数 ...

  8. VTK修炼之道31:图像二值化_阈值法

    1.阈值法实现图像二值化操作 二值图像和label图像是图像分割中经常用到的两种图像. 二值图像的每个像素只有两种可能的取值,例如0或者255.通常0代表图像的背景,而255代码图像前景.图像二值化是 ...

  9. OpenCV+python:图像二值化

    1,图像二值化概念及方法 一个像素点的颜色是由RGB三个值来表现的,所以一个像素点矩阵对应三个颜色向量矩阵,分别是R矩阵,G矩阵,B矩阵,它们也都是同样大小的矩阵. 在图像处理中,用RGB三个分量(R ...

  10. 【OpenCV 4开发详解】图像二值化

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

最新文章

  1. html5的video元素学习手札
  2. js字符串截取函数substr substring slice使用对比
  3. linux下查看线程数的几种方法
  4. sap内表 table_LINE
  5. Solr的安装步骤及增删改查代码示例
  6. 【Elasticsearch】语言处理系列之打字或拼写错误 模糊匹配 字段纠错 Fuzzy multi_match
  7. docker运行镜像报错:write init-p: broken pipe
  8. Server Application Error(IIS)
  9. java中Collection和Collections的区别和联系
  10. 远程桌面与本计算机共享文件,win7系统开启远程桌面共享文件的方法
  11. linux 桌面什么图标好看,Xenlism WildFire:Linux桌面下的一款漂亮图标主题
  12. defy+me525+android2.3.6官方镜像包,V大DEFY/DEFY+ ME525 ME525+ 2.3.6巅峰优化版0.86(红头)...
  13. postgresql源码安装
  14. 解决String cannot be cast to java.util.List报错
  15. Endsley 的情境意识理论回顾
  16. python第五次作业——潘芊睿
  17. android 微信 https 证书,微信https未授权证书究竟是什么意思
  18. 【VM】权限不足,无法访问文件
  19. 安卓修改包名和Project
  20. 随访系统学习笔记之ModelBinder

热门文章

  1. 网络协议抓包分析实例
  2. GB2312-80 汉字机内码
  3. 如何获取全国省市区行政边界数据
  4. 【转载】斐讯K2P B1刷入金梅林固件,加koolproxy、S-S R等【V1.0尝鲜版】
  5. 梅林固件刷CFE教程
  6. -f shell 模糊匹配_shell模糊匹配与正则详解
  7. 2021华为杯数学建模获奖经验分享
  8. Java 基础实验 银行转账
  9. 基于网易云API做的一个扫码登录
  10. bp神经网络预测模型python_BP神经网络模型:Python