タグ付けされた質問 「opencv」

OpenCV(オープンソースコンピュータービジョン)は、リアルタイムコンピュータービジョン用のライブラリです。このタグを使用するときは、使用しているOpenCVリリース(例:3.4.6)について言及し、必要に応じて言語固有のタグ(python、c ++など)を追加してください。

8
Numpy配列に新しい次元を追加するにはどうすればよいですか?
私は画像のずんぐりした配列から始めています。 In[1]:img = cv2.imread('test.jpg') 形状は、640x480RGB画像に期待できるものです。 In[2]:img.shape Out[2]: (480, 640, 3) しかし、私が持っているこの画像は、100フレームの長さのビデオのフレームです。理想的には、をimg.shape返すようなこのビデオからのすべてのデータを含む単一の配列が必要(480, 640, 3, 100)です。 次のフレーム(つまり、次の画像データのセット、別の480 x 640 x 3配列)を最初の配列に追加する最良の方法は何ですか?
93 python  arrays  opencv  numpy 

2
libc ++またはlibstdc ++を使用する必要がありますか?[閉まっている]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前に閉鎖されました。 この質問を改善する 私はc / c ++を使用してosxとlinuxの両方のコマンドラインインターフェイス実行可能ファイルを開発しています。プロジェクトはopencvに対してリンクします。libc ++またはlibstdc ++を使用する必要がありますか?

15
オープンcvエラー:(-215)scn == 3 || 関数cvtColorのscn == 4
現在、Ubuntu 14.04を使用しており、python 2.7とcv2を使用しています。 このコードを実行すると: import numpy as np import cv2 img = cv2.imread('2015-05-27-191152.jpg',0) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) それは返します: File "face_detection.py", line 11, in <module> gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.error: /home/arthurckl/Desktop/opencv-3.0.0-rc1/modules/imgproc/src/color.cpp:7564: error: (-215) scn == 3 || scn == 4 in function cvtColor 私はすでにここを検索しましたが、1つの答えは、行、列、奥行きの3つの次元を持つ必要があるため、写真を間違った方法でロードしている可能性があることを示しています。 img.shapeを印刷すると、2つの数値しか返されないので、間違っているはずです。しかし、写真を読み込む正しい方法がわかりません。
89 python  opencv  photo 


20
UbuntuにOpenCV for Pythonをインストールすると、ImportErrorが発生する:cv2.cvという名前のモジュールはありません
OpenCVをインストールしてPython 2.xで使用したいUbuntu 14.04システムがあります。 こちらの指示に従ってOpenCVをインストールしました:https : //help.ubuntu.com/community/OpenCV インストールは適切に実行されているようで、エラーはなく、スクリプトは出力で終了しました OpenCV 2.4.9 ready to be used サンプルPythonスクリプトを実行しようとすると、次のようになります。 $ python opencv.py Traceback (most recent call last): File "opencv.py", line 1, in <module> from cv2.cv import * ImportError: No module named cv2.cv 理由はわかっていると思いますが、修正方法がわかりません。OpenCVは、インストールスクリプトを実行したときの現在のディレクトリにインストールされています。これは、ホームフォルダーのサブディレクトリです。 インストール後にこのインポートエラーが発生する他の人は、パスの問題を抱えているようで、これをコードに追加して運が良かったようです: import sys sys.path.append('/usr/local/lib/python2.7/site-packages') または、同じディレクトリでPYTHONPATHを更新します。そのコードを追加してみましたが、違いはありません。「site-packages」ディレクトリにファイルがありません。そのディレクトリでインストールを実行する必要がありますか?インストール手順がそれを綴っていたと思います。私の問題はPythonがOpenCVインストールを見つけられないことに関係しているのではないかと思いますが、どうすればよいかわかりません。 OpenCVの使用可能なインストールをできるだけ簡単に入手できるように私を助けてください。

5
OpenCV / Pythonでのカメラパラメータの設定
Thorlabs(DC1545M)のUSBカメラでOpenCV(2.4)とPython(2.7.3)を使用しています。 ビデオストリームで画像分析を行っていますが、ビデオストリームからカメラパラメータの一部を変更できるようにしたいと考えています。紛らわしいのは、カメラのプロパティの一部を変更できるが、すべてを変更できるわけではなく、何が間違っているのかわからないことです。 Pythonでcv2バインディングを使用したコードを次に示します。これは、実行されていることを確認できます。 import cv2 #capture from camera at location 0 cap = cv2.VideoCapture(0) #set the width and height, and UNSUCCESSFULLY set the exposure time cap.set(3,1280) cap.set(4,1024) cap.set(15, 0.1) while True: ret, img = cap.read() cv2.imshow("input", img) #cv2.imshow("thresholded", imgray*thresh2) key = cv2.waitKey(10) if key == 27: break cv2.destroyAllWindows() cv2.VideoCapture(0).release() 参考までに、cap.set()コマンドの最初の引数は、以下にリストされているカメラプロパティの列挙を参照します。 …

11
Visual Studio 2010がPDBファイルを検索/開くことができないのはなぜですか?
私はVS2010でOpenCVを使用しようとしています。私はアマチュアであり、OpenCVwikiから最初のステップを学んでいます。ただし、プロジェクトをデバッグしようとすると、次のエラーが発生します。 「C:\ Windows \ SysWOW64 \ ntdll.dll」、PDBファイル「C:\ Windows \ SysWOW64 \ kernel32.dll」が見つからないか開くことができません。「C:\ Windows \ SysWOW64 \ kernellbase」が見つかりません。 dll '、PDBファイルが見つからないか開くことができません 私はそれらのファイルを正しいディレクトリに持っているのに、なぜそれらを開くことができないのですか?問題を解決するにはどうすればよいですか?

9
OpenCVのcvWaitKey()関数は何をしますか?
の実行中に何が起こりcvWaitKey()ますか?いくつかの典型的なユースケースは何ですか?私はOpenCVリファレンスでそれを見ましたが、ドキュメントはその正確な目的について明確ではありません。
82 c++  c  opencv 


2
Pythonの結果はcv2.Rodriguesの計算中に変化します
実行した場合: import numpy as np import cv2 def changes(): rmat=np.eye(4) tvec=np.zeros(3) (rvec, jacobian)=cv2.Rodrigues(rmat) print rvec for i in range(2): changes() 私は得ます: [[6.92798859e-310] [2.19380404e-316] [1.58101007e-322]] [[0.] [0.] [0.]] changes()変更の結果です。 なぜなのか、またtvec=np.zeros(3)コメントアウトすると変更が止まるので 、システムのバグだと思います。

3
OpenCVで数独グリッドのセルを取得する方法は?
私は過去数日間、写真から数独グリッドを取得するために努力しており、グリッドの小さな正方形を取得するのに苦労しています。下の写真に取り組んでいます。cannyフィルターで画像を処理するとうまくいくと思っていましたが、うまくいかず、各正方形のすべての輪郭を取得できませんでした。次に、アダプティブしきい値、大津、および従来のしきい値処理をテストに適用しましたが、毎回、すべての小さな正方形をキャプチャできるようには見えませんでした。 最終的な目標は、数値を含むセルを取得し、pytorchで数値を認識することです。そのため、数値のきれいな画像を用意して、認識が台無しにならないようにしたいと思います。 これを達成する方法について誰かがアイデアを持っていますか?よろしくお願いします!:D

1
正距円筒イメージでOpenCV solvePNPを使用できますか?
OpenCVのsolvePNPを正距円筒イメージで使用することは可能ですか?正四角形の画像があり、この画像に4つのポイント(赤い点)とそのピクセル座標があります。次に、4つの対応するワールドポイントがあります。たとえば[(0, 0, 0), (2, 0, 0), (2, 10, 0), (0, 10, 0)]、カメラのポーズをどのように推定できますか? OpenCVを使用してみましたsolvePnpが、Brownカメラモデルの組み込み関数を期待しているため、機能しませんでした。これは全天球カメラで可能ですか?

2
画像内の複数の長方形を検出する
この画像でパイプの数を検出しようとしています。これには、OpenCVとPythonベースの検出を使用しています。同様の質問に対する既存の回答に基づいて、次の手順を思い付くことができました 画像を開く フィルターする エッジ検出を適用する 等高線を使用 カウントを確認する パイプの総数は〜909です我々はそれを手動でカウント与えるか、または4を取るとき。 フィルター適用後 import cv2 import matplotlib.pyplot as plt import numpy as np img = cv2.imread('images/input-rectpipe-1.jpg') blur_hor = cv2.filter2D(img[:, :, 0], cv2.CV_32F, kernel=np.ones((11,1,1), np.float32)/11.0, borderType=cv2.BORDER_CONSTANT) blur_vert = cv2.filter2D(img[:, :, 0], cv2.CV_32F, kernel=np.ones((1,11,1), np.float32)/11.0, borderType=cv2.BORDER_CONSTANT) mask = ((img[:,:,0]>blur_hor*1.2) | (img[:,:,0]>blur_vert*1.2)).astype(np.uint8)*255 このマスクされた画像が表示されます これは、表示される長方形の数の点でかなり正確に見えます。ただし、カウントして画像の上にバウンディングボックスをプロットしようとすると、多くの不要な領域も選択されます。円の場合、HoughCirclesには最大半径と最小半径を定義する方法があります。精度を向上させることができる長方形に似たものはありますか?また、私はこの問題への代替アプローチの提案を受け入れています。 ret,thresh = cv2.threshold(mask,127,255,0) contours,hierarchy …

3
オープンCV顔認識が正確ではありません
私のアプリでは、Open CVを使用して特定の画像で顔認識を実行しようとしています。最初に1つの画像をトレーニングし、その画像をトレーニングした後、その画像で顔認識を実行すると、トレーニングされた顔が正常に認識されます。しかし、同じ人物の別の写真に目を向けると、認識が機能しません。訓練された画像でのみ機能するので、私の質問はどのように修正するのですか? 更新:私がやりたいことは、ユーザーがストレージから人物の画像を選択し、その選択した画像をトレーニングした後、トレーニングした画像の顔に一致するすべての画像をストレージからフェッチすることです これが私の活動クラスです: public class MainActivity extends AppCompatActivity { private Mat rgba,gray; private CascadeClassifier classifier; private MatOfRect faces; private ArrayList<Mat> images; private ArrayList<String> imagesLabels; private Storage local; ImageView mimage; Button prev,next; ArrayList<Integer> imgs; private int label[] = new int[1]; private double predict[] = new double[1]; Integer pos = 0; …

3
YOLOまたはその他の画像認識技術を使用して、画像内に存在するすべての英数字テキストを識別する
複数の画像の図があり、そのすべてにテキストラベル自体の代わりに英数字のラベルが含まれています。自分のYOLOモデルに含まれているすべての数字と英数字を識別できるようにしたい。 同じようにYOLOモデルをトレーニングするにはどうすればよいですか。データセットはここにあります。https://drive.google.com/open?id=1iEkGcreFaBIJqUdAADDXJbUrSj99bvoi たとえば、境界ボックスを参照してください。YOLOにテキストが存在する場所を検出してほしい。ただし、現在はその中のテキストを識別する必要はありません。 また、これらのタイプの画像についても同じことが必要です 画像はこちらからダウンロードできます これは私がopencvを使用して試したものですが、データセット内のすべての画像に対しては機能しません。 import cv2 import numpy as np import pytesseract pytesseract.pytesseract.tesseract_cmd = r"C:\Users\HPO2KOR\AppData\Local\Tesseract-OCR\tesseract.exe" image = cv2.imread(r'C:\Users\HPO2KOR\Desktop\Work\venv\Patent\PARTICULATE DETECTOR\PD4.png') gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] clean = thresh.copy() horizontal_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (15,1)) detect_horizontal = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, horizontal_kernel, iterations=2) cnts = cv2.findContours(detect_horizontal, cv2.RETR_EXTERNAL, …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.