Google 또는 stackoverflow에서 다른 질문을 확인합니다. 스크립트에서 cv2.imshow를 실행하는 것에 대해 이야기하고 있지만 내 코드는 jupyter 노트북에서 실행됩니다. 16.4x64opencv.imshow는 jupyter 노트북 충돌을 일으킬 것입니다
파이썬 3.5
는 OpenCV의 3.1.0
가 나는 jupyter 노트북을 시작
우분투 : 여기 여기
내 구성입니다 코드는 노트북에 넣어 :%pylab notebook import cv2 cvim2disp = cv2.imread('data/home.jpg') cv2.imshow('HelloWorld', cvim2disp) cv2.waitKey() #image will not show until this is called cv2.destroyWindow('HelloWorld') #make sure window closes cleanly
이 코드를 실행할 때. 이미지가 팝업 창에 표시되지만 오른쪽 상단의 x를 클릭하여이 창을 닫을 수 없습니다. 잠시 후 시스템에서 창이 응답하지 않는다는 메시지를 표시하면 2 가지 선택 사항이 표시됩니다. " 기다림 ","포 옴 종료 ". 내가 잠깐 만났을 때, 나중에 똑같은 프롬프트를 보게 될 것입니다. '포어 종료'를하면 jupyter 노트북 커널이 죽고 다시 시작해야합니다. 내가 주변에 구글
많은 솔루션이 코드
imshow
전에cv2.startWindowThread()
를 추가해야하지만, 상황 악화, 커널이 영원히 중지하는 것이 좋습니다! 아무도 어떤 일이 벌어지고 있는지 알 수 없습니다. 여기
내 오류의 그림입니다 :
'cv.imshow' 정말 Jupyter 같은 클라이언트/서버 환경에서 이해가되지 않습니다. 당신은 서버 측에서 GUI 윈도우를 실행하지 않고 (클라이언트 측에서) 노트북의 일부로 이미지를 표시 할 것을 원합니다. 클라이언트와 서버가 동일한 시스템에있을 때 다소 "작동"할 수 있지만 그게 다야. | 이미 matplotlib의 'imshow' 함수를 사용하고 있습니다 (생각하는 것처럼 numpy가 아닙니다). 그래서 (색상 평면의 BGR 순서보다는 RGB를 사용한다는 것을 명심하십시오). –