質問編集履歴

3

質問を踏まえてコードをわかりやすくしてみました。また質問を少し変更しました。

2022/08/09 19:07

投稿

toarutotoro
toarutotoro

スコア10

test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,8 @@
2
2
  vs codeでpythonとopencvを使ったコードを書いています。しかし、パソコンに動画は流れません。
3
3
  動画はtelloというドローンから受信したものです。お手数おかけしますが、回答お願いします。
4
4
  (質問は何度か編集しています。)
5
-
6
5
  ### 実現したいこと
7
-
8
6
  ・パソコンに映像が流れるようにしたい
9
-
10
7
  ### 発生している問題・エラーメッセージ
11
8
 
12
9
  ```
@@ -19,7 +16,6 @@
19
16
  ```python
20
17
  import socket
21
18
  import cv2
22
-
23
19
 
24
20
  sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
25
21
  TELLO_ADDRESS = ('192.168.10.1', 8889)
@@ -34,7 +30,6 @@
34
30
  ret, img = cap.read()
35
31
 
36
32
  print(ret)
37
-
38
33
  ```
39
34
 
40
35
  ### 試したこと

2

質問を踏まえてコードをわかりやすくしてみました。また

2022/08/09 18:48

投稿

toarutotoro
toarutotoro

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,16 +1,16 @@
1
1
  ### 前提
2
- vs codeでpythonとopencvを使ったコードを書いています。しかし、パソコンに動画は流れず、かつ一部の文字は認識されません。
2
+ vs codeでpythonとopencvを使ったコードを書いています。しかし、パソコンに動画は流れません。
3
- 動画はtelloというドローンから受信したものです。
3
+ 動画はtelloというドローンから受信したものです。お手数おかけしますが、回答お願いします。
4
- りづらいとの指摘をいただいたのでもう一度編集します。お手数おかけしますが、回答お願ます。)
4
+ 質問は何度か編集しいます。)
5
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-08-09/34897801-366b-4d1d-a43d-d92b2783ec6c.png)
5
+
6
6
  ### 実現したいこと
7
7
 
8
8
  ・パソコンに映像が流れるようにしたい
9
- ・反応しない部分がある理由を解明したい。反応しない部分とは上の写真で色が白色のままの文字のことです。”read()”と”release()”のことです。
10
9
 
11
10
  ### 発生している問題・エラーメッセージ
12
11
 
13
12
  ```
13
+ retがfalseで返される。
14
14
  動画が流れない。
15
15
  ```
16
16
 
@@ -20,35 +20,27 @@
20
20
  import socket
21
21
  import cv2
22
22
 
23
+
23
24
  sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
24
25
  TELLO_ADDRESS = ('192.168.10.1', 8889)
25
26
  TELLO_CAMERA_ADDRESS = 'udp://@0.0.0.0:11111'
26
- sock.bind(('', 8889))
27
- command_text = "None"
28
27
  cap = None
29
- cap = cv2.VideoCapture(TELLO_CAMERA_ADDRESS)
30
28
  sock.sendto('command'.encode('utf-8'), TELLO_ADDRESS)
31
29
  sock.sendto('streamon'.encode('utf-8'), TELLO_ADDRESS)
30
+ cap = cv2.VideoCapture('udp://@0.0.0.0:11111')
32
31
 
32
+ print(cap.isOpened())
33
33
 
34
- while True:
35
- ret, frame = cap.read()
34
+ ret, img = cap.read()
36
35
 
37
- if ret:
36
+ print(ret)
38
- cv2.imshow("Frame", frame)
39
-
40
- if cv2.waitKey(1) & 0xFF == ord('q'):
41
- break
42
-
43
- cap.release()
44
- cv2.destroyAllWindows()
45
37
 
46
- sock.sendto('streamoff'.encode('utf-8'), TELLO_ADDRESS)
47
38
  ```
48
39
 
49
40
  ### 試したこと
50
41
 
51
42
  open cv を一度アンインストールして再インストールしました。
43
+ 動画をドローンから送られてくるものではなく、ファイルに保存されているもので実行。(こっちは成功しました。)
52
44
 
53
45
  ### 補足情報(FW/ツールのバージョンなど)
54
46
  Python 3.10.5

1

コードを全文公開、動画と映像を統一、分かりづらい部分を変更

2022/08/09 06:13

投稿

toarutotoro
toarutotoro

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,22 +1,36 @@
1
1
  ### 前提
2
- vs codeでpythonとopencvを使ったコードを書いています。しかし、パソコンに映像は流れず、かつ一部の文字は認識されません。
2
+ vs codeでpythonとopencvを使ったコードを書いています。しかし、パソコンに動画は流れず、かつ一部の文字は認識されません。
3
-
3
+ 動画はtelloというドローンから受信したものです。
4
+ (わかりづらいとの指摘をいただいたのでもう一度編集します。お手数おかけしますが、回答お願いします。)
4
5
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-08-09/34897801-366b-4d1d-a43d-d92b2783ec6c.png)
5
6
  ### 実現したいこと
6
7
 
7
8
  ・パソコンに映像が流れるようにしたい
8
- ・反応しない部分がある理由を解明したい。
9
- 反応しないは上の写真の”read()”と”release()”です。
9
+ 反応しない部分がある理由を解明したい。反応しない部分とは上の写真で色が白色ままの文字のことです。”read()”と”release()”のことです。
10
10
 
11
11
  ### 発生している問題・エラーメッセージ
12
12
 
13
13
  ```
14
- 動画が表示されない。
14
+ 動画がれない。
15
15
  ```
16
16
 
17
17
  ### 該当のソースコード
18
18
 
19
19
  ```python
20
+ import socket
21
+ import cv2
22
+
23
+ sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
24
+ TELLO_ADDRESS = ('192.168.10.1', 8889)
25
+ TELLO_CAMERA_ADDRESS = 'udp://@0.0.0.0:11111'
26
+ sock.bind(('', 8889))
27
+ command_text = "None"
28
+ cap = None
29
+ cap = cv2.VideoCapture(TELLO_CAMERA_ADDRESS)
30
+ sock.sendto('command'.encode('utf-8'), TELLO_ADDRESS)
31
+ sock.sendto('streamon'.encode('utf-8'), TELLO_ADDRESS)
32
+
33
+
20
34
  while True:
21
35
  ret, frame = cap.read()
22
36
 
@@ -28,6 +42,8 @@
28
42
 
29
43
  cap.release()
30
44
  cv2.destroyAllWindows()
45
+
46
+ sock.sendto('streamoff'.encode('utf-8'), TELLO_ADDRESS)
31
47
  ```
32
48
 
33
49
  ### 試したこと
@@ -37,3 +53,5 @@
37
53
  ### 補足情報(FW/ツールのバージョンなど)
38
54
  Python 3.10.5
39
55
  open cv 4.6.0
56
+ telloのsdkの説明書:
57
+ 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