opencv 2.4.2, python 2.7을 사용하고 있습니다. 다음 간단한 코드는 올바른 이름의 창을 만들었지 만 내용이 비어 있고 이미지가 표시되지 않습니다.
import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow',img)
누구든지이 문제에 대해 알고 있습니까?
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()
(창을 업데이트하는 데 필요한 전체 메시지 루프가 숨겨져 있습니다.)
print img
는 NoneType
객체가 아닌 올바른 numpy 배열을 인쇄 합니다.
여기에서 나를 위해 일한 답을 찾았습니다 .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)
나는 같은 문제에 직면했다. IDLE에서 이미지를 읽고를 사용하여 표시하려고 cv2.imshow()
했지만 표시 창이 멈춰 창 pythonw.exe
을 닫으려고 할 때 응답하지 않습니다.
아래 게시물은 이것이 발생하는 이유에 대한 가능한 설명을 제공합니다.
" 기본적으로 IDLE에서이 작업을 수행하지 마십시오. 스크립트를 작성하고 .pyw 확장자로 이름을 지정하고 두 번 클릭하여 셸 또는 Windows의 경우 스크립트에서 직접 실행합니다. IDLE 자체 이벤트간에 충돌이있는 것 같습니다. 루프 및 GUI 툴킷의 것. "
imshow()
스크립트에서 사용 하고 IDLE에서 직접 실행하는 대신 실행하면 작동했습니다.
이 스레드 어딘가에 필요한 모든 부분이 있습니다.
if cv2.waitKey(): cv2.destroyAllWindows()
IDLE에서 잘 작동합니다.
이후에 추가 메서드가 필요하지 않습니다 waitKey(0)
(위 코드에 대한 응답).
import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow',img)
cv2.waitKey(0)
창이 나타납니다-> 창을 클릭하고 Enter를 클릭하십시오. 창이 닫힙니다.
"cv2.waitKey (0)"를 사용하기로 선택한 경우 "cv2.waitkey (0)"대신 "cv2.waitKey (0)"를 작성했는지 확인하십시오. 소문자 "k"도 프로그램을 정지시킬 수 있기 때문입니다. .
C : \ Folder1 \ Folder2 \ filename.ext에서와 같이 이미지의 전체 경로를 제공하여 극복 할 수 있었던 동일한 215 오류가 발생했습니다.