2011-10-28 18 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) 

だから、文字列に全体OpenCVの画像を変換PILを通してそれを供給し、その後、TKにPILから変換しています。より良い方法がありますか?

答えて

1

私はそれを行うより良い方法を見つけることができませんでしたので、私はhighguiをOpenCVイメージを表示するために私のアプリケーションをリファクタリングしました。余分なウィンドウと余分なスレッド(アプリケーションウィジェット用のTkinter GUI用、そしてhighgui用の1つ)を使用する必要がありますが、少なくともこの方法ではアプリケーションのレスポンスが向上します。

関連する問題