python+opencv 自适应阈值算法

简单阈值算法使用全局阈值,但一副图像中不同位置的光照情况可能不同,全局阈值会失去很多信息。本文介绍一下python+opencv中自适应阈值算法。
同样的,先列出大纲
这里写图片描述

以下直接比较两个自适应阈值算法与简单阈值算法。

###########自适应阈值算法
#! usr/bin/env python
# coding: utf-8
import matplotlib.pyplot as plt
import cv2

img  = cv2.imread('cat.jpg', 0)
# 0表示以灰度方式读图。否则后面用阈值算法会出错
# 也可以按照彩色读进来,然后用二值化算法进行灰度

img_1 = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
                              cv2.THRESH_BINARY, 11, 2)

img_2 = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C,
                              cv2.THRESH_BINARY, 11, 2)

ret, img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)

titles = ['GUASSIAN','MEAN','Simper']
imgs =[img_1, img_2, img]

for i in range(3):
    plt.subplot(1, 3, i+1)
    plt.imshow(imgs[i],'gray')
    plt.title(titles[i])
plt.show()

猜你喜欢

转载自blog.csdn.net/qq_27261889/article/details/80792102