質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

4509閲覧

ラズパイOpenCV実行エラー

ryusaku

総合スコア10

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/01/26 18:54

ラズパイにて、opencv4.5.5.62を下記URLを参考にインストールし、カメラを実施しましたが、エラー出ました。記載します。
Pythomは3.9.2 opencv-contribも同様に4.5.5.62となります。
アドバイスいただけたら助かります。
●参考URL
https://python-academia.com/raspberrypi-opencv/

●実施内容
import cv2
import math
import numpy as np

cap = cv2.VideoCapture(0)

while True:
ret, img_src = cap.read() #カメラ画像の読み込み

#ここに核となる処置を記述する #例えば垂直反転 img_dst = cv2.flip(img_src, flipCode = 0) #画像のグレースケール化 gray = cv2.cvtColor(img_src, cv2.COLOR_BGR2GRAY) #エッジ検出 edges = cv2.Canny(gray,10,220,apertureSize=3) #ネガポジ反転 nega = cv2.bitwise_not(img_src) #2値化 ret,binary = cv2.threshold(gray, 150, 255,cv2.THRESH_BINARY) #輪郭を作成 contours, hierarchy = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) contour = cv2.drawContours(img_src, contours, -1, (0, 255, 0), 5) cv2.imshow('src', img_src) #入力画像を表示 cv2.imshow('dst', img_dst) #出力画像を表示 cv2.imshow('gray', gray) #出力画像を表示 cv2.imshow('edges', edges) #出力画像を表示 cv2.imshow('naga', nega) #出力画像を表示 cv2.imshow('binary', binary) #出力画像を表示 cv2.imshow('contour', contour) #出力画像を表示 ch = cv2.waitKey(1) #キー入力待ち if ch == ord('q'): break

cap.release()
cv2.destroyAllWindows()

●エラー内容
Traceback (most recent call last):
File "/home/pi/Desktop/camera_test.py", line 25, in <module>
cv2.imshow('src', img_src) #入力画像を表示
cv2.error: OpenCV(4.5.5) /tmp/pip-install-1sibef3s/opencv-contrib-python_6b7eae6bd73e4aedb241a422a8f7e819/opencv/modules/highgui/src/window.cpp:1268: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーの言い分)

If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'

つまるところ、このメッセージはライブラリを入れなおしてからソースからコンパイルしてくれという話です。ここから先は勘ですが、GTKはGUIのライブラリで、cv2.imshowに使いたいけど入って無くて動かないよ、ということと思います。
メッセージの言いたい対策は以下の通りです。

  1. sudo apt-get install libgtk2.0-dev pkg-config
  2. cmake でOpenCVを入れなおす(cvShowImageを有効にするようにする)

実際どうよ?の話) 問題提起編
が、実際にやると分かりますがRPiみたいな非力なPCでOpenCVみたいな巨大なモジュールをコンパイルするとものすごくく時間がかかりますし、SDカードもひっ迫します。


実際どうよ?の話) 解決編
ですので、それをすっとばすのに適当にGoogle でwhlファイルをキーワード検索するのもありです。たぶんPythonのバージョンが3.9は新しすぎて対応するコンパイル済みwhlが見つからないと思います。

ですので、時間がかからない現実的な解決策は、上記の必要なモジュールをインストールしたうえで、ものすごくこだわりがない限り、Pythonのバージョンを落としてコンパイル済みOpenCV(Contrib付)のwhlをインストールのが手っ取り早いです。


過去の失敗)
※GUIに使えるライブラリはいくつかありますが、インストールされているものとOpenCVがコンパイルされた環境にあったGUIのライブラリが食い違うとうまくは知らないばかりか最悪FatalPythonErrorでSegmentationFaultを起こして原因不明でこけます。ご注意ください。「ならHeadless(GUI抜き)のOpenCVでいいや」と思って試すと、cv2.imshow機能が死んですごく困るOpenCVに仕上がります。やっぱりHeadlessじゃ解決できないという次第です。

投稿2022/01/26 21:17

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryusaku

2022/01/27 12:49

下記URLを参考に、opencvをインストールしましたが、 Traceback (most recent call last): File "/home/pi/Desktop/111.py", line 2, in <module> import cv2 ModuleNotFoundError: No module named 'cv2' とエラー出ました。1ヶ月前は、この手法で、opencvやれてました。顔認識もできていました。 ハード的に壊れていますか? 参考:https://www.youtube.com/watch?v=9P-Hq8Dh1R0 インストール:git clone https://github.com/kotamorishi/installOpenCV 参考通りした際のエラー Traceback (most recent call last): File "/home/pi/Desktop/111.py", line 2, in <module> import cv2 ModuleNotFoundError: No module named 'cv2' アドバイスよろしくお願い致します。
退会済みユーザー

退会済みユーザー

2022/01/29 12:31

インストール先のPythonがPython3.xのxの部分が違う可能性はありませんか? 後はパスの問題でしょうか。 私もOpenCV周りで結構困ることがあるので、どうにも困った時には古いバージョンのOpenCVをあえて選んでインストールしなおしたりします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問