1.otsu二值化

# coding=utf-8

import cv2
import numpy as np
from matplotlib import pyplot as plt #1.读入图像
filename = "home.jpg"
img = cv2.imread(filename,0) #2.灰度图像 二值化
ret2,th2 = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
#第1个参数:img,灰度原图像
#第2个参数:0对像素值进行分类的阈值
#第3个参数:255当像素值高于(有时是小于)阈值对应被赋予的新的像素值
#第4个参数:阈值方法
#第1个返回值:retVal
#第2个返回值 thresh 处理后的图像 #3.plt 输出
plt.subplot(121),plt.imshow(img,'gray')
plt.subplot(122),plt.imshow(th2,'gray') plt.show()

day5 二值化-LMLPHP

2.全局阈值 127

# coding=utf-8

import cv2
import numpy as np
from matplotlib import pyplot as plt #1.读入图像
#img = cv2.imread('gradient.png',0)
filename = "woman.JPEG"
img = cv2.imread(filename,0) #2.灰度图像二值化
ret1,th1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY) #全局阈值127
ret2,th2 = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) #3.plt展示图像
plt.subplot(221),plt.imshow(img)
#plt.subplot(221),plt.imshow(img,'gray')
plt.subplot(222),plt.imshow(th1)
plt.subplot(223),plt.hist(img.ravel(),256,[0,256]) #直方图函数list
plt.subplot(224),plt.imshow(th2) plt.show()

      day5 二值化-LMLPHP

3.高斯核去噪,在Otsu二值化

05-11 13:45