質問編集履歴
4
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -300,7 +300,7 @@
|
|
300
300
|
|
301
301
|
**<編集6/17>**質問の編集までに時間がかかりすいませんでした。
|
302
302
|
|
303
|
-
自身で解決できないか試行錯誤したのですがうまくいかず途方に暮れていました。
|
303
|
+
~~自身で解決できないか試行錯誤したのですがうまくいかず途方に暮れていました。~~
|
304
304
|
|
305
305
|
合体とは載せた二つのプログラム、「重心を画像から求めるプログラム」と「カメラの映像からハフ変換を利用して円を検出するプログラム」を組み合わせて、「カメラの映像からハフ変換を利用して円を検出した後、検出した円から重心を求めて、**その重心の部分に赤い点を描画する**プログラムを作る」ことを言っていました。
|
306
306
|
|
3
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -361,3 +361,11 @@
|
|
361
361
|
どのように「書き方」を調べればいいのでしょうか?
|
362
362
|
|
363
363
|
いつも皆様に解決してもらっているばかりで自分ではなにもできていません。というよりうまく学習できていません。
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
ペットボトルの蓋を円と認識させて中心の点を緑色としてみました。
|
370
|
+
|
371
|
+
![イメージ説明](5c8332303b87da885ada19e24b8fc95b.png)
|
2
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -302,7 +302,7 @@
|
|
302
302
|
|
303
303
|
自身で解決できないか試行錯誤したのですがうまくいかず途方に暮れていました。
|
304
304
|
|
305
|
-
合体とは載せた二つのプログラム、「重心を画像から求めるプログラム」と「カメラの映像からハフ変換を利用して円を検出するプログラム」を組み合わせて、「カメラの映像からハフ変換を利用して円を検出した後、検出した円から重心を求めるプログラムを作る」ことを言っていました。
|
305
|
+
合体とは載せた二つのプログラム、「重心を画像から求めるプログラム」と「カメラの映像からハフ変換を利用して円を検出するプログラム」を組み合わせて、「カメラの映像からハフ変換を利用して円を検出した後、検出した円から重心を求めて、**その重心の部分に赤い点を描画する**プログラムを作る」ことを言っていました。
|
306
306
|
|
307
307
|
説明不足で本当にすいません。
|
308
308
|
|
1
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,17 +8,21 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
カメラからの円検出のプログラムと重心を求めるプログラムを合体させたいです。
|
11
|
+
~~カメラからの円検出のプログラムと重心を求めるプログラムを合体させたいです。~~
|
12
|
-
|
12
|
+
|
13
|
-
ここで問題があるのですが、カメラからの映像をMat img = imread("sample.jpg", IMREAD_GRAYSCALE);で画像として取り出しグレースケール化してから重心を求めるプログラムのようにすればいいのでしょうか?
|
13
|
+
~~ここで問題があるのですが、カメラからの映像をMat img = imread("sample.jpg", IMREAD_GRAYSCALE);で画像として取り出しグレースケール化してから重心を求めるプログラムのようにすればいいのでしょうか?~~
|
14
|
-
|
14
|
+
|
15
|
-
その方法で行うとしたらまずどのフォーマットで画像を取得するかを考えないとだめですね。
|
15
|
+
~~その方法で行うとしたらまずどのフォーマットで画像を取得するかを考えないとだめですね。~~
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
-
手順としてはカメラから円を検出して赤色で囲う、検出された円を画像として置き換え、重心を求める。
|
19
|
+
~~手順としてはカメラから円を検出して赤色で囲う、検出された円を画像として置き換え、重心を求める。~~
|
20
|
-
|
20
|
+
|
21
|
-
ただカメラからの映像から円の画像を作る?関数はopencvにあるでしょうか?
|
21
|
+
~~ただカメラからの映像から円の画像を作る?関数はopencvにあるでしょうか?~~
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
22
26
|
|
23
27
|
|
24
28
|
|
@@ -293,3 +297,67 @@
|
|
293
297
|
}
|
294
298
|
|
295
299
|
```
|
300
|
+
|
301
|
+
**<編集6/17>**質問の編集までに時間がかかりすいませんでした。
|
302
|
+
|
303
|
+
自身で解決できないか試行錯誤したのですがうまくいかず途方に暮れていました。
|
304
|
+
|
305
|
+
合体とは載せた二つのプログラム、「重心を画像から求めるプログラム」と「カメラの映像からハフ変換を利用して円を検出するプログラム」を組み合わせて、「カメラの映像からハフ変換を利用して円を検出した後、検出した円から重心を求めるプログラムを作る」ことを言っていました。
|
306
|
+
|
307
|
+
説明不足で本当にすいません。
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
お願い事のようになってしまい申し訳ないのですが、
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
今回の解決すべき問題点は円を検出するのに働く以下の部分、
|
316
|
+
|
317
|
+
```
|
318
|
+
|
319
|
+
circles = cvHoughCircles(gray_img, storage, CV_HOUGH_GRADIENT,
|
320
|
+
|
321
|
+
1, 100, 20, 50, 10, MAX(gray_img->width, gray_img->height));
|
322
|
+
|
323
|
+
```
|
324
|
+
|
325
|
+
から検出した円の面積というか画素の塊の情報を
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
```
|
330
|
+
|
331
|
+
int count = 0;
|
332
|
+
|
333
|
+
float x_g = 0.0f;
|
334
|
+
|
335
|
+
float y_g = 0.0f;
|
336
|
+
|
337
|
+
for ( int y = 0; y < img.rows; y++ ) {
|
338
|
+
|
339
|
+
for ( int x = 0; x < img.cols; x++ ) {
|
340
|
+
|
341
|
+
if ( img.data[y*img.step + x] == 255 ) {
|
342
|
+
|
343
|
+
count++;
|
344
|
+
|
345
|
+
x_g += x;
|
346
|
+
|
347
|
+
y_g += y;
|
348
|
+
|
349
|
+
}
|
350
|
+
|
351
|
+
}
|
352
|
+
|
353
|
+
}
|
354
|
+
|
355
|
+
Point2f mc = Point2f( x_g/count, y_g/count);
|
356
|
+
|
357
|
+
```
|
358
|
+
|
359
|
+
に入力して重心を求められるのではないかと考えているのですが、解決法はわかるのですが、書き方がわかりません。
|
360
|
+
|
361
|
+
どのように「書き方」を調べればいいのでしょうか?
|
362
|
+
|
363
|
+
いつも皆様に解決してもらっているばかりで自分ではなにもできていません。というよりうまく学習できていません。
|