以代码为基础的opencv-python学习 图像二值化

Posted august2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以代码为基础的opencv-python学习 图像二值化相关的知识,希望对你有一定的参考价值。

import cv2
import numpy as np

#此方法可以将彩色图根据一定的阈值转换为黑白图。其中阈值用于划分图片的黑白(局部方法)
def threshold_deom(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
ret, binary = cv2.threshold(gray, 127,255,cv2.THRESH_BINARY)#可将图像中的颜色转为0或1,即黑和白。其中127表示阈值,大于127的是白色,小于127的是黑色。当然这个也取决于cv2.THRESH_XX函数
ret, binary = cv2.threshold(gray, 0,255,cv2.THRESH_BINARY | cv2.THRESH_OTSU)#不自定义,而是使用cv2函数
print("threshold value=",ret)
cv2.imshow("binary",binary)

#自适应方法,效果更好
def local_threshold(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
dst = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,25,10)
cv2.imshow("binary",dst)


src = cv2.imread("woman.jpg")
cv2.namedWindow("input image",cv2.WINDOW_AUTOSIZE)
cv2.imshow(‘input image‘,src)
threshold_deom(src)
cv2.waitKey(0)
cv2.destroyAllWindows()

以上是关于以代码为基础的opencv-python学习 图像二值化的主要内容,如果未能解决你的问题,请参考以下文章

以代码为基础的opencv-python学习 图片的加载以及视频展示

[opencv-python]学习-图像分割

《图像处理基础知识》专栏文章目录

冈萨雷斯《数字图像处理》学习总结及感悟:第一章 绪论 百闻不如一见

OpenCV-Python3.OpenCV的图像基础操作

opencv-python基础用法详细代码-图片加载-ROI-边缘滤波-二值化-轮廓提取-膨胀腐蚀等