
Ubuntu 16.04 LTS を使用していますが、OpenCV ライブラリを使用して簡単な Python プログラムを実行したいと考えています。PyCharm を実行しようとすると、エラーが表示されます。
GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
私のアプリケーションコードは次のとおりです。
import cv2
import numpy as np
img = cv2.imread('kura.jpg',0)
cv2.imshow('image', img)
Ubuntu 17.04 でも同じ状況でした。16.04 をインストールした後、Vivaldi ブラウザ、Python 用 Anaconda、PyCharm、Unity Tweak Tools のみをインストールしました。
私の友人は XFCE を搭載した Xubuntu を使用していますが、そのような問題は発生していません。Unity がシステム内の何かをブロックし、それがプログラムを実行できない原因である可能性はありますか?
答え1
によるとこのStack OverflowのQ&A次のコマンドでエラーメッセージが修正されるはずです
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
しかし、コードが機能しない理由はそれだけではありません。
によるとOpenCV ドキュメントは、通話imshow
でのみ機能しますwaitKey
。
プログラムは画像ウィンドウを閉じる前にユーザー入力を待機するため、次のコードは機能するようになります。
import cv2
import numpy as np
img = cv2.imread('kura.jpg',0)
cv2.imshow('image', img)
cv2.waitKey(0)