为什么我不能在 python-OpenCV 中绘制图像直方图
Why can't I plot image histogram's in python-OpenCV
我必须获取图像,应用直方图均衡化并绘制两个图像(原始图像和修改后的图像)的直方图。所以我尝试了这段代码:
import cv2
import numpy as np
from skimage import io, img_as_float, img_as_ubyte
import matplotlib.pyplot as plt
from matplotlib import pyplot as plt
gray = cv2.imread("folder\img1.jpg",0)
equ = cv2.equalizeHist(gray)
io.imshow(gray)
io.imshow(equ)
histr = cv2.calcHist([gray],[0],None,[256],[0,256])
plt.plot(histr)
plt.show()
但是返回的情节是..:
我该如何解决?
您没有创建新图,因此直方图绘制在显示图像的最后一个图上。
您可以在绘制直方图之前创建一个新图形:
histr = cv2.calcHist(gray, [0], None, [256], (0,255))
plt.figure() # Create new figure for the histogram plot
plt.plot(histr)
plt.show()
我必须获取图像,应用直方图均衡化并绘制两个图像(原始图像和修改后的图像)的直方图。所以我尝试了这段代码:
import cv2
import numpy as np
from skimage import io, img_as_float, img_as_ubyte
import matplotlib.pyplot as plt
from matplotlib import pyplot as plt
gray = cv2.imread("folder\img1.jpg",0)
equ = cv2.equalizeHist(gray)
io.imshow(gray)
io.imshow(equ)
histr = cv2.calcHist([gray],[0],None,[256],[0,256])
plt.plot(histr)
plt.show()
但是返回的情节是..:
我该如何解决?
您没有创建新图,因此直方图绘制在显示图像的最后一个图上。
您可以在绘制直方图之前创建一个新图形:
histr = cv2.calcHist(gray, [0], None, [256], (0,255))
plt.figure() # Create new figure for the histogram plot
plt.plot(histr)
plt.show()