pyplot提供了类似matlab的绘图框架
函数hist hist(数据源,像素级)
b = a.ravel()
hist = cv2.calcHist(images, channels, mask, histSize, ranges, accumulate)
mask = np.zeros(image.shape, np.uint8)
mask[200:400, 200:400] = 255
计算结果 = cv2.bitwise_and(图像1, 图像2)
mask = np.zero(800, np.uint8)
mask[300:500, 300:500] = 255
masked_img = cv2.bitwise_and(img, mask)
dst = cv2.equalizeHist(src)
subplot(nrows, ncols, plot_number)
subplot(2, 3, 4)
subplot(234)
import cv2
import matplotlib.pyplot as plt
o = cv2.imread("/home/forrest/图片/lena彩图.png", cv2.IMREAD_GRAYSCALE)
cv2.imshow("o", o)
plt.hist(o.ravel(), 256)
plt.show()
cv2.waitKey()
cv2.destroyAllWindows()
import cv2
img = cv2.imread("/home/forrest/图片/lena彩图.png", cv2.IMREAD_GRAYSCALE)
hist = cv2.calcHist([img], [0], None, [256], [0, 255])
print(type(hist))
print(hist.size)
print(hist.shape)
plt.plot(hist, color="r")
plt.show()
256
(256, 1)
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("/home/forrest/图片/lena彩图.png")
histb = cv2.calcHist([img], [0], None, [256], [0, 255])
histg = cv2.calcHist([img], [1], None, [256], [0, 255])
histr = cv2.calcHist([img], [2], None, [256], [0, 255])
plt.plot(histb, color="b")
plt.plot(histg, color="g")
plt.plot(histr, color="r")
plt.show()
import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread("/home/forrest/图片/lena彩图.png", cv2.IMREAD_GRAYSCALE)
mask = np.zeros(image.shape, np.uint8)
mask[200:400, 200:400] = 255
histMI = cv2.calcHist([image], [0], mask, [256], [0, 255])
histImage = cv2.calcHist([image], [0], None, [256], [0, 255])
plt.plot(histImage)
plt.plot(histMI)
plt.show()
import cv2
import numpy as np
image = cv2.imread("/home/forrest/图片/lena彩图.png", 0)
mask = np.zeros(image.shape, np.uint8)
mask[200:400, 200:400] = 255
mi = cv2.bitwise_and(image, mask)
cv2.imshow("original", image)
cv2.imshow("mask", mask)
cv2.imshow("mi", mi)
cv2.waitKey()
cv2.destroyAllWindows()
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("/home/forrest/图片/lena彩图.png", cv2.IMREAD_GRAYSCALE)
equ = cv2.equalizeHist(img)
plt.subplot(221)
plt.imshow(img, plt.cm.gray)
plt.axis('off')
plt.subplot(222)
plt.hist(img.ravel(), 256)
plt.subplot(223)
plt.imshow(equ, plt.cm.gray)
plt.axis('off')
plt.subplot(224)
plt.hist(equ.ravel(), 256)
plt.show()
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("/home/forrest/图片/lena彩图.png")
b,g,r = cv2.split(img)
img2 = cv2.merge([r, g, b])
plt.subplot(121)
plt.imshow(img)
plt.axis('off')
plt.subplot(122)
plt.imshow(img2)
plt.axis('off')
plt.show()