이미지의 히스토그램을 그릴 수있는이 간단한 OpenCV 코드가 있습니다.imshow() 및 matplotlib()가 함께 작동하지 않습니다.
from PIL import Image
from numpy import *
from pylab import *
import cv2
image=cv2.imread('/media/755784/New Volume/DATA/Images/opencv.jpg')
h,w=image.shape[:2]
cv2.imwrite('/media/755784/New Volume/DATA/Images/result.png',image)
print h,w
cv2.imshow("Image",image)
cv2.waitKey(0)## <--
print 'Plotting histogram'
hist=cv2.calcHist(image,[0],None,[256],[0,256])
plt.hist(image.ravel(),256,[0,256])
plt.show()
while True:
k=cv2.waitKey(30)
if k==27:
break
cv2.destroyAllWindows()
내가 (0) imshow() 후 waitKey를 제거하면, 히스토그램 먼저 그려 도착하고 음모를 닫습니다하지 않는 한, 이미지가 표시되지 않습니다. 이것은 파이썬이나 matplotlib에 특별한 문제입니까?
는 [여기] 설명서를 참조습니까 (http://docs.opencv.org/trunk/doc/py_tutorials/py_gui를 /py_image_display/py_image_display.html)'waitKey'를 사용해야한다고 말하는 것 같습니까? – BrenBarn
cv2.waitKey (1) ## non-blocking – berak
cv2.waitKey (1) 또는 cv2.waitKey (0)가 두 개의 창을 올바르게 표시한다는 것에 동의하지만 5 초 후에 이미지 창의 밝기가 손실됩니다. 파이썬처럼 그 창에서 초점을 잃어 가고 있습니다. 플롯 창을 닫을 때 이미지 창은 밝기를 되 찾습니다. –