質問編集履歴

2

コード

2018/08/06 05:27

投稿

uriuri
uriuri

スコア47

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,3 @@
1
- opencvを用いて白線を検出しようと考えています。
2
-
3
1
  `![イメージ説明](aec91c94103dd96367ca2e21f8d357d7.jpeg)説明](de0d9317b0c0fe2607db0ac7a0df9b87.jpeg)on
4
2
 
5
3
 

1

コード

2018/08/06 05:27

投稿

uriuri
uriuri

スコア47

test CHANGED
File without changes
test CHANGED
@@ -6,103 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ```python
10
9
 
11
-
12
-
13
- #coding: Shift_Jis
14
-
15
- import cv2
16
-
17
- import math
18
-
19
- import numpy as np
20
-
21
-
22
-
23
- img_src = cv2.imread("./〇〇/image_name")
24
-
25
- # 入力画像をグレースケール変換
26
-
27
- gray = cv2.cvtColor(img_src,cv2.COLOR_BGR2GRAY)
28
-
29
-
30
-
31
- #適応的しきい値処理
32
-
33
- th1 = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
34
-
35
- cv2.THRESH_BINARY,11,2)
36
-
37
-
38
-
39
- #ガウシアンフィルタ処理
40
-
41
- gauss = cv2.GaussianBlur(th1,(9,9),0)
42
-
43
-
44
-
45
- #キャニーエッジ検出
46
-
47
- edges = cv2.Canny(gauss,100,150)
48
-
49
-
50
-
51
- #LSD生成
52
-
53
- LSD = cv2.createLineSegmentDetector()
54
-
55
-
56
-
57
- #線分検出
58
-
59
- lines, width, prec, nfa = LSD.detect(edges)
60
-
61
-
62
-
63
- # グレースケール変換をBGR変換
64
-
65
- color = cv2.cvtColor(gray,cv2.COLOR_GRAY2BGR)
66
-
67
-
68
-
69
- # 直線の描画
70
-
71
- for i in range(len(lines)):
72
-
73
- for x1,y1,x2,y2 in lines[i] :
74
-
75
- cv2.line(color,(x1,y1),(x2,y2),(0,0,255),2)
76
-
77
-
78
-
79
- #OpenCVがBGRなのでRGBに変換
80
-
81
- disp_in_img = cv2.cvtColor(color, cv2.COLOR_BGR2RGB)
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
- cv2.imshow('src', img_src)
90
-
91
- cv2.imshow("nitika", th1)
92
-
93
- cv2.imshow('dst', disp_in_img)
94
-
95
-
96
-
97
-
98
-
99
- cv2.waitKey()
100
-
101
- cv2.destroyAllWindows()
102
-
103
-
104
-
105
- ```
106
10
 
107
11
 
108
12