
import cv2
import numpy as np
from matplotlib import pyplot as plt
img_path = 'C:/Users/xpp/Desktop/lena.jpg'
img = cv2.imread(img_path)
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,th1 = cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY)
ret,th2 = cv2.threshold(img_gray,127,255,cv2.THRESH_BINARY_INV)
ret,th3 = cv2.threshold(img_gray,127,255,cv2.THRESH_TRUNC)
ret,th4 = cv2.threshold(img_gray,127,255,cv2.THRESH_TOZERO)
ret,th5 = cv2.threshold(img_gray,127,255,cv2.THRESH_TOZERO_INV)
titles = ['oringnal','gray_img','BINGARY','BINGARY_INV','TRUNC','TOZERO','TOZERO_INV']
images = [img,img_gray,th1,th2,th3,th4,th5]
i = 0
for i in range(7):
plt.subplot(3,3,i+1)
plt.imshow(images[i],'gray')
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
plt.show()
import cv2
import numpy as np
from matplotlib import pyplot as plt
img1 =cv2.imread('C:/Users/xpp/Desktop/lena.jpg',0)
img = cv2.medianBlur(img1,5)
ret, th1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY,11,2)
th3 =cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY,11,5)
th4 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,11,2)
th5 =cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,11,5)
titles = [
'origianl_ images','means-image','gloabal(v = 127)','Mean(C =2)',
'Mean(C =5)','Gayssian(C = 2)',
'Gayssian(C = 5)'
]
images =[img1,img,th1,th2,th3,th4,th5]
num = 1
for i in range(2,6):
plt.subplot(2,2,num),plt.imshow(images[i],'gray')
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
num += 1
plt.show()
import cv2
import numpy as np
from matplotlib import pyplot as plt
img1 =cv2.imread('C:/Users/xpp/Desktop/lena.jpg',0)
ret1,th1 = cv2.threshold(img1,127,255,cv2.THRESH_BINARY)
ret2,th2 = cv2.threshold(img1,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
blur =cv2.GaussianBlur(img1,(5,5),0)
ret3,th3 =cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
## plot all the images and their histogram
images =[img1,0,th1,
img1,0,th2,
blur,0,th3]
titles =[
'Ori','Hist','Glo(v =127)',
'Ori', 'Hist', 'Ostu',
'Gass', 'Hist', 'Ostu',
]
for i in range(3):
plt.subplot(3,3,i*3+1),plt.imshow(images[i*3],'gray')
plt.title(titles[i*3]),plt.xticks([]),plt.yticks([])
plt.subplot(3,3,i*3+2),plt.hist(images[i*3].ravel(),256)
plt.title(titles[i*3+1]),plt.xticks([]),plt.yticks([])
plt.subplot(3,3,i*3+3),plt.imshow(images[i*3+2],'gray')
plt.title(titles[i*3+2]),plt.xticks([]),plt.yticks([])
plt.show()


本文分享自 图像处理与模式识别研究所 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!