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

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

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

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

OpenCV

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

Python

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

Q&A

0回答

623閲覧

Yolov7の組み込み方がわかりません

12510196

総合スコア0

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

OpenCV

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

Python

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

1グッド

0クリップ

投稿2022/12/21 10:31

編集2022/12/21 10:56

前提

Pythonで画面をmssで読み取り、それをYolov7で画像解析し、その結果を、imshowで表示するプログラムを作っています。
しかしYolov7の画像解析がプログラムに組み込めなくて困っています。

実現したいこと

プログラム内にYolov7を組み込む。

途中までのプログラム

import sys from pathlib import Path import cv2 import numpy import mss with mss.mss() as sct: monitor = (190,26,648,796) #学習モデルのパス weight = "~~~~~~~~~~~~" while True: try: img = numpy.array(sct.grab(monitor)) ここにimgをYolov7で画像解析するプログラムを書く cv2.imshow("image", img) # Press "q" to quit if cv2.waitKey(25) & 0xFF == ord("q"): cv2.destroyAllWindows() break except: continue

実行している環境

OS:MacOS monterey

プログラム初心者です。お願いします。

OtsukaYuto👍を押しています

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2022/12/22 02:17 編集

https://github.com/WongKinYiu/yolov7/blob/main/detect.py#L88 ここのimgがTorchでのimg(0-1で正規化)されたものが突っ込まれています。 あとはpredに推論結果(ラベル、信頼度、座標)が入ってくるはずなので、そのラベルらの情報を適当にcv2.rectangleやcv2.putTextでnumpyのimgに乗っければ良さそうです。 ただ、ここで掲載されているコードよりもYOLO7のコードの方が圧倒的に多いと思いますので、自作のコードにYOLO7を付け加えるより、YOLO7のコードを生かしながら自分のやりたい処理をデバグしながら(エラーが起きないように、やりたい方向に徐々に近づいているか変数を少しづずprint()しながら)ねじ込んでいく方がうまくいくはずです。 このアプローチは初心者だろうが慣れている人だろうが、YOLO7を使ったことがない人であれば基本的に変わりません。その苦労を自分で背負おうとしていれば助けてもらえますし、だれか書いてくれないかな、だと「やってほしいことを丸投げした質問」となって回答がつかなくなります。 あとは12510196さんができないなりにやれるところまでやるだけです。
12510196

2022/12/21 12:34

丁寧なお答えありがとうございます。 アプローチの仕方を変えて最初からやってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問