[python] cv2.imshow 명령이 opencv-python에서 제대로 작동하지 않습니다.

opencv 2.4.2, python 2.7을 사용하고 있습니다. 다음 간단한 코드는 올바른 이름의 창을 만들었지 만 내용이 비어 있고 이미지가 표시되지 않습니다.

import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow',img)

누구든지이 문제에 대해 알고 있습니까?



답변

imshow()다음에서만 작동합니다 waitKey().

import cv2
img = cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow', img)
cv2.waitKey()

(창을 업데이트하는 데 필요한 전체 메시지 루프가 숨겨져 있습니다.)


답변

여기에서 나를 위해 일한 답을 찾았습니다 .http :
//txt.arboreus.com/2012/07/11/highgui-opencv-window-from-ipython.html

대화 형 ipython 세션을 실행하고 highgui 창을 사용하려면 먼저 cv2.startWindowThread ()를 수행하십시오.

자세히 : HighGUI는 OpenCV 코드에서 이미지와 비디오를 표시하는 단순화 된 인터페이스입니다. 다음과 같이 쉬워야합니다.

import cv2
img = cv2.imread("image.jpg")
cv2.startWindowThread()
cv2.namedWindow("preview")
cv2.imshow("preview", img)


답변

cv2.waitKey(0)이후에 사용해야합니다 cv2.imshow("window",img). 그래야만 작동합니다.

import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('Window',img)
cv2.waitKey(0)


답변

Python 콘솔 내에서 실행중인 경우 다음을 수행하십시오.

img = cv2.imread("yourimage.jpg")

cv2.imshow("img", img); cv2.waitKey(0); cv2.destroyAllWindows()

그런 다음 Enter이미지 를 누르면 이미지가 성공적으로 닫히고 다른 명령을 계속 실행할 수 있습니다.


답변

나는 같은 문제에 직면했다. IDLE에서 이미지를 읽고를 사용하여 표시하려고 cv2.imshow()했지만 표시 창이 멈춰 창 pythonw.exe을 닫으려고 할 때 응답하지 않습니다.

아래 게시물은 이것이 발생하는 이유에 대한 가능한 설명을 제공합니다.

pythonw.exe가 응답하지 않습니다.

기본적으로 IDLE에서이 작업을 수행하지 마십시오. 스크립트를 작성하고 .pyw 확장자로 이름을 지정하고 두 번 클릭하여 셸 또는 Windows의 경우 스크립트에서 직접 실행합니다. IDLE 자체 이벤트간에 충돌이있는 것 같습니다. 루프 및 GUI 툴킷의 것.

imshow()스크립트에서 사용 하고 IDLE에서 직접 실행하는 대신 실행하면 작동했습니다.


답변

cv2.waitKey(0)끝에 추가 하십시오.


답변

나를 위해 0보다 큰 숫자를 가진 waitKey ()가 작동했습니다.

    cv2.waitKey(1)