2011-10-28 2 views
1

OpenCV의 IplImages을 디스플레이 루프의 Tkinter 이미지로 변환하는 애플리케이션이 있습니다. 당연히 앱의 응답 성을 높이는 가장 효율적인 방법이라고 생각합니다. 여기Tkinter에서 OpenCV IplImage를 효율적으로 표시합니다.

은 (frameIplImage입니다) 나는 현재를하고 있어요 방법은 다음과 같습니다

pil_image = PIL.Image.fromstring(
      'RGB', 
      cv.GetSize(frame), 
      frame.tostring(), 
      'raw', 
      'BGR', 
      frame.width*3, 
      0) 
    tk_image = ImageTk.PhotoImage(pil_image) 

은 그래서 PIL에서 TK로 변환 한 후, 문자열로 전체 OpenCV의 이미지를 변환 PIL를 통해 공급하고있다. 더 좋은 방법이 있습니까?

답변

1

더 좋은 방법은 찾을 수 없으므로 OpenCV 이미지를 표시하기 위해 highgui을 사용하도록 내 응용 프로그램을 리팩토링했습니다. 그것은 내가 여분의 창과 여분의 스레드 (응용 프로그램 위젯을위한 Tkinter GUI를위한 것이고 highgui를위한 하나의 스레드)를 사용하도록 강요하지만 적어도이 방법은 응용 프로그램이 더 반응 적입니다.

관련 문제