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

回答編集履歴

3

d

2019/09/09 15:12

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -43,6 +43,35 @@
43
43
 
44
44
  ```
45
45
 
46
+ ## 追記
47
+
48
+ csv モジュールを使わない方法
49
+
50
+ ```python
51
+ import cv2
52
+
53
+ # 画像を読み込む。
54
+ img = cv2.imread("test.png")
55
+
56
+ # グレースケールに変換する。
57
+ gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
58
+
59
+ # 輪郭を抽出する。
60
+ image, contours, hierarchy = cv2.findContours(
61
+ gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE
62
+ )
63
+
64
+ data = []
65
+ for cnt in contours:
66
+ area = cv2.contourArea(cnt)
67
+ data.append(area)
68
+
69
+ with open("output.csv", "w", newline="") as f:
70
+ f.write("No,Area\n".format(i, area))
71
+ for i, area in enumerate(data):
72
+ f.write("{},{}\n".format(i, area))
73
+ ```
74
+
46
75
  ## 参考文献
47
76
 
48
77
  * [Python - CSV の読み込み/書き込み まとめ - Pynote](http://pynote.hatenablog.com/entry/python-csv-io-recipe#dict-%E3%81%AE%E3%83%AA%E3%82%B9%E3%83%88%E3%82%92-CSV-%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B)

2

d

2019/09/09 15:12

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -22,7 +22,7 @@
22
22
  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
23
23
 
24
24
  # 輪郭を抽出する。
25
- contours, hierarchy = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
25
+ image, contours, hierarchy = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
26
26
 
27
27
  data = []
28
28
  for i, cnt in enumerate(contours):

1

d

2019/09/09 12:13

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -1,7 +1,10 @@
1
1
  ## 回答
2
2
 
3
3
  csv モジュールをお使いください。
4
+ 使い方については下記リンクを参照ください。
4
5
 
6
+ [Python - CSV の読み込み/書き込み まとめ - Pynote](http://pynote.hatenablog.com/entry/python-csv-io-recipe#dict-%E3%81%AE%E3%83%AA%E3%82%B9%E3%83%88%E3%82%92-CSV-%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B)
7
+
5
8
  ## コード
6
9
 
7
10
  ![イメージ説明](015bec0496f7eec61e0cd5f9fa9b0245.png)