彩色圖像的直方圖均值化

可以看到

src[:,:,0]與cv.split()的第一個分量是相等的,與src[0]並不相同

 

 

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
src=cv.imread("C:/Users/surface/Downloads/svmtest/view.jpg")
# cv.imshow("src",src)
# print(src[0]);
# print("----------------")
# print(src[:,:,0])
# b,g,r=cv.split(src);
# print("----------------")
# print(b)
b,g,r=cv.split(src)
b_p=cv.calcHist([src[:,:,0]],[0],None,[256],[0,256])
plt.plot(b_p,color='b')
b_p=cv.calcHist([src[:,:,0]],[0],None,[256],[0,256])
g_p=cv.calcHist([src[:,:,1]],[0],None,[256],[0,256])
r_p=cv.calcHist([src[:,:,2]],[0],None,[256],[0,256])
plt.plot(b_p,color='b')
plt.plot(g_p,color='g')
plt.plot(r_p,color='r')
#dst=np.zeros(src.shape,np.uint8)
#g=cv.equalizeHist(g)
src[:,:,0]=cv.equalizeHist(src[:,:,0])

test_p=cv.calcHist([src[:,:,0]],[0],None,[256],[0,256])
plt.plot(test_p,color='y')

#r=cv.equalizeHist(r)
dst=cv.merge([src[:,:,0],src[:,:,1],src[:,:,2]])
#cv.imshow("g",g)
#cv.imshow("b",b)
#cv.imshow("R",r)
cv.imshow("out",dst)
plt.show()
cv.waitKey(0)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章