zoukankan      html  css  js  c++  java
  • Python3与OpenCV3.3 图像处理(十五)--图像二值化

    一、什么是二值图像

    图像中只有0和1,即1表示黑色,0表示白色

     
    二、图像二值化的方法

    图像二值化的方法:全局阈值,局部阈值。一般来说局部阈值要优于全局阈值。在OpenCV中图像二值化的方法有OTS,Triangle,自动与手动,衡量阈值方法是否是符合场景的,就是要看处理之后图像的信息是否丢失


    三、示例代码

    import cv2 as cv
    import numpy as np
    
    def threshold(image):
        """图像二值化:全局阈值"""
        #图像灰度化
        gray=cv.cvtColor(image,cv.COLOR_RGB2GRAY)
        #变为二值图像
        #gary:灰度图像
        #0:阈值,如果选定了阈值方法,则这里不起作用
        ret ,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY | cv.THRESH_TRIANGLE)
        print(ret)
        cv.imshow("binary",binary)
    
    
    def local_threshold(image):
        """局部阈值"""
        # 图像灰度化
        gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY)
        # 变为二值图像
        binary = cv.adaptiveThreshold(gray,255,cv.ADAPTIVE_THRESH_GAUSSIAN_C,cv.THRESH_BINARY,25,10)
        cv.imshow("local_threshold", binary)
    
    def custom_threshold(image):
        """局部阈值""
  • 相关阅读:
    QT1 HelloWorld
    SDL2.0 播放YUV
    vim寄存器
    Makefile模板
    apue初学--DIR
    apue初学--平台的判断
    各种推导式
    文件操作
    list tuple dict set
    字符串和编码
  • 原文地址:https://www.cnblogs.com/gangzhucoll/p/12778288.html
Copyright © 2011-2022 走看看