61

UbuntuマシンでOpenCVをPythonで動作させようとしています。OpenCVをダウンロードしてインストールしましたが、次のPythonコードを実行しようとすると(Webカメラから画像をキャプチャして画面にプッシュする必要があります)

import cv

cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE)
capture = cv.CaptureFromCAM(0)

def repeat():
    frame = cv.QueryFrame(capture)
    cv.ShowImage("w1", frame)
    time.sleep(10)

while True:
    repeat()

次のエラーが発生します。

The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or
Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and
pkg-config, then re-run cmake or configure script

だから私は彼らが求めることをします:パッケージをインストールし、OpenCVをインストールしたところからフォルダに移動して実行します

sudo make uninstall
make
sudo make install

しかし、Pythonを実行しようとすると、同じエラーが発生します。私は何かが足りないのですか?

4

6 に答える 6

76

gtkでエラーが発生する場合は、qtを試してください。

sudo apt-get install libqt4-dev
cmake -D WITH_QT=ON ..
make
sudo make install

これがうまくいかない場合は、簡単な方法があります。

sudo apt-get install libopencv-*

これにより、必要なすべての依存関係がダウンロードされます(必要なライブラリがすべてインストールされているように見えますが、それでも一度試すことができます)。これにより、おそらくOpenCV 2.3.1(Ubuntu 12.04)がインストールされます。ただし、OpenCV 2.4.3が/usr/local/lib含まれているため、このパスを含めて/etc/ld.so.conf実行しますldconfig。したがって、OpenCVを使用するときは常に、最新バージョンを使用することになります。これは最善の方法ではありませんが、それでもqtまたはgtkで問題が発生する場合は、これを1回試してください。これは機能するはずです。

更新-2019年6月18日

openCV 3.4.2のUbuntu(18.04.1 LTS)システムでこのエラーが発生しました。これは、メソッド呼び出しcv2.imshowが失敗したためです(たとえば、cv2.namedWindow(name)の行でエラー:cv2.error:OpenCV(3.4) .2)機能は実装されていません。)私はanacondaを使用しています。以下の2つの手順で、解決できました。

conda remove opencv
conda install -c conda-forge opencv=4.1.0

ピップを使用している場合は、試すことができます

pip install opencv-contrib-python
于 2013-02-01T23:07:52.060 に答える
39

この問題を解決するために時間を無駄にしないでください。これはメーカー自身によって明らかにされました。これを使用する代わりにcv2.imshow()

img = cv2.imread('path_to_image')
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()
于 2017-12-14T20:04:25.097 に答える
35

いつでもopencv-pythonpipパッケージを使用してOpenCVをインストールした場合は、https://pypi.python.org/pypi/opencv-pythonから取得した次の注意事項に注意してください。

重要な注意 事項MacOSおよびLinuxホイールには、現在いくつかの制限があります。

  • ビデオ関連の機能はサポートされていません(FFmpegでコンパイルされていません)
  • たとえばcv2.imshow()、動作しません(GTK + 2.xまたはCarbonサポートでコンパイルされていません)

また、別のソースからインストールするには、最初にopencv-pythonパッケージを削除する必要があることに注意してください

于 2017-04-21T00:16:09.610 に答える
8

問題はかなり古いようですが、この回答がまだ役立つことを願っています。

Anacondaがインストールされていて、OpenCVがGTK +をサポートしていない場合(この場合のように)、単に入力することができます

conda install -c menpo opencv=2.4.11

上記のエラーを生成しない適切なOpenCVバージョンをインストールします。さらに、Anacondaの一部として以前にインストールされたOpenCVがあった場合は、それを再インストールします。

于 2016-11-26T16:05:45.500 に答える
3

これは「opencv-python-headless」が原因です。アンインストールしてください!

pip uninstall opencv-python-headless
于 2021-07-10T14:44:23.197 に答える
1

libgtk2.0-devおよびpkg-configまたはlibqt4-devをインストールする前。opencvをアンインストールしたことを確認してください。これは、Pythonシェルでimportcv2を実行することで確認できます。失敗した場合は、必要なパッケージをインストールして、cmakeを再実行します。

于 2017-07-11T09:42:47.817 に答える