teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

修正

2019/04/14 12:40

投稿

oyatsu8
oyatsu8

スコア97

title CHANGED
File without changes
body CHANGED
@@ -59,4 +59,65 @@
59
59
  cv2.destroyAllWindows()
60
60
 
61
61
 
62
+ ```
63
+ tiitoiさんのアドバイスから、下記のように修正しました。
64
+ tiitoiさんありがとうございます。
65
+
66
+ なんとか切り替わるようになりました!
67
+ しかし、今度は文字がチカチカしてしまい、これもどうしたらいいのか、、と思いました。
68
+
69
+ ```python
70
+ # -*- coding: utf-8 -*-
71
+ #!/usr/bin/python
72
+
73
+ import numpy as np
74
+ import cv2
75
+
76
+ cap = cv2.VideoCapture(0)
77
+
78
+ curr_key = "None"
79
+
80
+ # フレームをキャプチャする
81
+ ret, frame = cap.read()
82
+ ret=cap.set(3,240)
83
+ ret=cap.set(4,180)
84
+
85
+ height=frame.shape[0]
86
+ width=frame.shape[1]
87
+ font01=cv2.FONT_HERSHEY_SIMPLEX
88
+
89
+ #text01 = 'FIRST'
90
+ #CV_AA = 16
91
+ #cv2.putText(frame,curr_key,(10,100),font01,2,(0,255,255),4)
92
+
93
+
94
+ while True:
95
+ frame_copy = frame.copy()
96
+
97
+ # 画面に表示する
98
+ cv2.imshow('frame',frame)
99
+
100
+ # キーボード入力待ち
101
+ key = cv2.waitKey(1) & 0xFF
102
+
103
+ # 一番最後にキー入力された文字を表示する。
104
+ if curr_key:
105
+ cv2.putText(frame_copy,curr_key,(10, 100), cv2.FONT_HERSHEY_SIMPLEX, 2, (0,255,255), 4)
106
+
107
+ cv2.imshow('frame',frame_copy)
108
+ key = cv2.waitKey(1) & 0xFF
109
+
110
+ if key == ord('a'):
111
+ curr_key = 'A'
112
+ print("Aを入力")
113
+ elif key == ord('b'):
114
+ curr_key = 'B'
115
+ print("Bを入力")
116
+ elif key == ord('q'):
117
+ break
118
+
119
+
120
+ # ウィンドウをすべて消す
121
+ cv2.destroyAllWindows()
122
+
62
123
  ```

2

いらない部分修正

2019/04/14 12:40

投稿

oyatsu8
oyatsu8

スコア97

title CHANGED
File without changes
body CHANGED
@@ -9,21 +9,11 @@
9
9
  # -*- coding: utf-8 -*-
10
10
  #!/usr/bin/python
11
11
  import time
12
- import signal
13
12
  import sys
14
- import numpy as np
15
13
  import cv2
16
14
 
17
15
  cap = cv2.VideoCapture(0)
18
16
 
19
- def exit_handler(signal, frame):
20
- print("\nExit")
21
- GPIO.cleanup()
22
- sys.exit(0)
23
-
24
- # 終了処理用のシグナルハンドラを準備
25
- signal.signal(signal.SIGINT, exit_handler)
26
-
27
17
  # フレームをキャプチャする
28
18
  ret, frame = cap.read()
29
19
  ret=cap.set(3,240)
@@ -45,12 +35,12 @@
45
35
  # キーボード入力待ち
46
36
  key = cv2.waitKey(1) & 0xFF
47
37
 
48
- # 12がONになっ場合は保存する
38
+ # aを押し
49
39
  if key == ord('a'):
50
40
  print("aを押した")
51
41
  text01='A'
52
42
  cv2.putText(frame,text01,(10,100),font01,2,(0,255,255),4)
53
-
43
+ # bを押した時
54
44
  elif key == ord('b'):
55
45
  print("bを押した")
56
46
  text01='B'

1

タイトル修正

2019/04/14 11:48

投稿

oyatsu8
oyatsu8

スコア97

title CHANGED
@@ -1,1 +1,1 @@
1
- cv2.putTextの使い方がわからない
1
+ cv2.putTextの描画書き換えがわからない
body CHANGED
File without changes