質問編集履歴

3

2019/09/09 09:12

投稿

mukai1174
mukai1174

スコア5

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,11 @@
12
12
 
13
13
  各セルに個々の面積を出力したいです。
14
14
 
15
- コード以下
15
+ コード以下ですが、for文の下が投稿するとタブ空白が消えて左つめになってしまっていますが、areaとprintはタブ空白あります。
16
+
17
+
18
+
19
+
16
20
 
17
21
  import cv2
18
22
 

2

2019/09/09 09:12

投稿

mukai1174
mukai1174

スコア5

test CHANGED
File without changes
test CHANGED
@@ -26,8 +26,6 @@
26
26
 
27
27
 
28
28
 
29
- #画像読み込み
30
-
31
29
  img = cv2.imread('dot.jpg')
32
30
 
33
31
  b = cv2.bitwise_not(img)

1

2019/09/09 09:08

投稿

mukai1174
mukai1174

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 画像の中に複数ある個々ドットの面積をcsvに出力したいです。
1
+ 画像から抽出した複数の輪郭の面積をcsvに出力したいです。
2
2
 
3
3
  cv2.findContoursで全ての輪郭を抽出した後、
4
4
 
@@ -11,3 +11,45 @@
11
11
  で個々の輪郭の面積を算出するところまで行ったのですが、csvへの出力方法を教えてください。
12
12
 
13
13
  各セルに個々の面積を出力したいです。
14
+
15
+ コード以下
16
+
17
+ import cv2
18
+
19
+ import numpy as np
20
+
21
+ from matplotlib import pyplot as plt
22
+
23
+ import sys
24
+
25
+ import csv
26
+
27
+
28
+
29
+ #画像読み込み
30
+
31
+ img = cv2.imread('dot.jpg')
32
+
33
+ b = cv2.bitwise_not(img)
34
+
35
+
36
+
37
+ c=cv2.cvtColor(b,cv2.COLOR_BGR2GRAY)
38
+
39
+ d=cv2.threshold(c,50,255,cv2.THRESH_BINARY_INV)[1]
40
+
41
+
42
+
43
+ e = cv2.bitwise_not(d)
44
+
45
+
46
+
47
+ image, contours, hierarchy = cv2.findContours(e,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
48
+
49
+
50
+
51
+ for i, cnt in enumerate(contours):
52
+
53
+ area = cv2.contourArea(cnt)
54
+
55
+ print('contour: {}, area: {}'.format(i, area))