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

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

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

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

OpenCV

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

drone.io

drone.ioは、リポジトリと連携してCI(継続的インテグレーション)できるサービス。githubだけでなく、bitbucketやGoogle Codeとも連携が可能です。また、ビルドスクリプトで柔軟にビルド可能なことも特徴の一つです。

Q&A

解決済

1回答

851閲覧

pythonとopencvで動画が表示されない。

toarutotoro

総合スコア10

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

OpenCV

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

drone.io

drone.ioは、リポジトリと連携してCI(継続的インテグレーション)できるサービス。githubだけでなく、bitbucketやGoogle Codeとも連携が可能です。また、ビルドスクリプトで柔軟にビルド可能なことも特徴の一つです。

0グッド

1クリップ

投稿2022/08/09 05:50

編集2022/08/09 19:07

前提

vs codeでpythonとopencvを使ったコードを書いています。しかし、パソコンに動画は流れません。
動画はtelloというドローンから受信したものです。お手数おかけしますが、回答お願いします。
(質問は何度か編集しています。)

実現したいこと

・パソコンに映像が流れるようにしたい

発生している問題・エラーメッセージ

retがfalseで返される。 動画が流れない。

該当のソースコード

python

1import socket 2import cv2 3 4sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 5TELLO_ADDRESS = ('192.168.10.1', 8889) 6TELLO_CAMERA_ADDRESS = 'udp://@0.0.0.0:11111' 7cap = None 8sock.sendto('command'.encode('utf-8'), TELLO_ADDRESS) 9sock.sendto('streamon'.encode('utf-8'), TELLO_ADDRESS) 10cap = cv2.VideoCapture('udp://@0.0.0.0:11111') 11 12print(cap.isOpened()) 13 14ret, img = cap.read() 15 16print(ret)

試したこと

open cv を一度アンインストールして再インストールしました。
動画をドローンから送られてくるものではなく、ファイルに保存されているもので実行。(こっちは成功しました。)

補足情報(FW/ツールのバージョンなど)

Python 3.10.5
open cv 4.6.0
telloのsdkの説明書:
https://terra-1-g.djicdn.com/2d4dce68897a46b19fc717f3576b7c6a/Tello%20%E7%BC%96%E7%A8%8B%E7%9B%B8%E5%85%B3/For%20Tello/Tello%20SDK%20Documentation%20EN_1.3_1122.pdf

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

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

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

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

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

slemntqe

2022/08/09 05:55

すべてのプログラムを提出して下さい。capという変数はどこで宣言されていますか?
slemntqe

2022/08/09 05:56

映像と動画という2つの単語が混じっていますが違う意味ですか?同じ意味であれば単語を統一して下さい。
slemntqe

2022/08/09 05:57 編集

「パソコンに映像が流れる」「動画が表示されない。」とはどう言う意味ですか?何の映像ですか?何の動画ですか?流れると表示の違いは何ですか?同じ意味であれば単語を統一して下さい。
slemntqe

2022/08/09 05:59

「一部の文字は認識されません」何のことか理解できません。質問文を訂正して意味がわかるようにして下さい。
slemntqe

2022/08/09 06:00

「反応しない部分」何のことか理解できません。質問文を訂正して意味がわかるようにして下さい。
slemntqe

2022/08/09 06:00

面倒になってきました。あなた自身で全ての質問文を全て見直した上で訂正して下さい。
toarutotoro

2022/08/09 06:02

わかりづらくすみません。 映像と動画は同じです。 コードの全文は以下になります。 ''' import socket import cv2 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) TELLO_ADDRESS = ('192.168.10.1', 8889) TELLO_CAMERA_ADDRESS = 'udp://@0.0.0.0:11111' sock.bind(('', 8889)) command_text = "None" cap = None cap = cv2.VideoCapture(TELLO_CAMERA_ADDRESS) sock.sendto('command'.encode('utf-8'), TELLO_ADDRESS) sock.sendto('streamon'.encode('utf-8'), TELLO_ADDRESS) while True: ret, frame = cap.read() if ret: cv2.imshow("Frame", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() sock.sendto('streamoff'.encode('utf-8'), TELLO_ADDRESS) ''' telloというドローンを使って動画を表示させようとしています。
meg_

2022/08/09 10:52

ret の値がどうなっているか調べましたか?
toarutotoro

2022/08/09 18:50

返信が遅くなり申し訳ありません。 retはfalseが返ってきました。 お手数おかけしますが、この場合どうすればいいのか教えていただけると幸いです。
guest

回答1

0

自己解決

retの値はfalseのままですがなぜかうまくいきました。上に載っているコードに下のコードをつけ足せば実行できます。qを押すまで実行され続けます。

python

1while True: 2 ret, frame = cap.read() 3 if ret: 4 cv2.imshow('window_name', frame) 5 if cv2.waitKey(1) & 0xFF == ord('q'): 6 break 7 else: 8 cap.set(cv2.CAP_PROP_POS_FRAMES, 0) 9 10cv2.destroyWindow('window_name')

投稿2022/08/09 19:28

toarutotoro

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問