質問編集履歴

3

更新

2017/07/15 15:26

投稿

削除済ユーザー
test CHANGED
File without changes
test CHANGED
@@ -143,3 +143,87 @@
143
143
  ```
144
144
 
145
145
  このプログラムは画像を読み込んで円検出するもので画像ならうまくいきます。
146
+
147
+
148
+
149
+ ```python
150
+
151
+ import numpy as np
152
+
153
+ import cv2
154
+
155
+
156
+
157
+ cam = cv2.VideoCapture(0)
158
+
159
+
160
+
161
+ while(cam.isOpened()):
162
+
163
+
164
+
165
+ ret, frame = cam.read()
166
+
167
+
168
+
169
+ frame = frame[:,::-1]
170
+
171
+
172
+
173
+ size = (640, 480)
174
+
175
+ frame = cv2.resize(frame, size)
176
+
177
+
178
+
179
+ gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
180
+
181
+
182
+
183
+ gray = cv2.GaussianBlur(gray, (33,33), 1)
184
+
185
+
186
+
187
+
188
+
189
+ colimg = frame.copy() #cv2.cvtColor(gray, cv2.COLOR_GRAY2BGR)
190
+
191
+
192
+
193
+
194
+
195
+ circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 60, param1=10, param2=85, minRadius=10, maxRadius=80)
196
+
197
+ if circles != None:
198
+
199
+ circles = np.uint16(np.around(circles))
200
+
201
+ for i in circles[0,:]:
202
+
203
+
204
+
205
+ cv2.circle(colimg,(i[0],i[1]),i[2],(255,255,0),2)
206
+
207
+
208
+
209
+ cv2.circle(colimg,(i[0],i[1]),2,(0,0,255),3)
210
+
211
+
212
+
213
+
214
+
215
+ cv2.imshow('preview', colimg)
216
+
217
+ if cv2.waitKey(1) & 0xFF == ord('q'):
218
+
219
+ break
220
+
221
+
222
+
223
+ cap.release()
224
+
225
+ cv2.destroyAllWindows()
226
+
227
+ ```
228
+
229
+ またこのプログラムはhttp://www.digifie.jp/blog/archives/1438のプログラムを参考にして作ったものですが円を検出した途端に終了してしまいます

2

更新

2017/07/15 15:24

投稿

削除済ユーザー
test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
 
108
108
 
109
- img = cv2.imread('opencv_logo.png',0)
109
+ img = cv2.imread('ファイル名',0)
110
110
 
111
111
  img = cv2.medianBlur(img,5)
112
112
 

1

改善

2017/07/15 14:55

投稿

削除済ユーザー
test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
 
108
108
 
109
- img = cv2.imread('ファイル名',0)
109
+ img = cv2.imread('opencv_logo.png',0)
110
110
 
111
111
  img = cv2.medianBlur(img,5)
112
112
 
@@ -143,87 +143,3 @@
143
143
  ```
144
144
 
145
145
  このプログラムは画像を読み込んで円検出するもので画像ならうまくいきます。
146
-
147
-
148
-
149
- ```python
150
-
151
- import numpy as np
152
-
153
- import cv2
154
-
155
-
156
-
157
- cam = cv2.VideoCapture(0)
158
-
159
-
160
-
161
- while(cam.isOpened()):
162
-
163
-
164
-
165
- ret, frame = cam.read()
166
-
167
-
168
-
169
- frame = frame[:,::-1]
170
-
171
-
172
-
173
- size = (640, 480)
174
-
175
- frame = cv2.resize(frame, size)
176
-
177
-
178
-
179
- gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
180
-
181
-
182
-
183
- gray = cv2.GaussianBlur(gray, (33,33), 1)
184
-
185
-
186
-
187
-
188
-
189
- colimg = frame.copy() #cv2.cvtColor(gray, cv2.COLOR_GRAY2BGR)
190
-
191
-
192
-
193
-
194
-
195
- circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 60, param1=10, param2=85, minRadius=10, maxRadius=80)
196
-
197
- if circles != None:
198
-
199
- circles = np.uint16(np.around(circles))
200
-
201
- for i in circles[0,:]:
202
-
203
-
204
-
205
- cv2.circle(colimg,(i[0],i[1]),i[2],(255,255,0),2)
206
-
207
-
208
-
209
- cv2.circle(colimg,(i[0],i[1]),2,(0,0,255),3)
210
-
211
-
212
-
213
-
214
-
215
- cv2.imshow('preview', colimg)
216
-
217
- if cv2.waitKey(1) & 0xFF == ord('q'):
218
-
219
- break
220
-
221
-
222
-
223
- cap.release()
224
-
225
- cv2.destroyAllWindows()
226
-
227
- ```
228
-
229
- またこのプログラムは[http://www.digifie.jp/blog/archives/1438](http://www.digifie.jp/blog/archives/1438)のプログラムを参考にして作ったものですが円を検出した途端に終了してしまいます