質問編集履歴

1

説明不足

2021/01/16 07:23

投稿

holstein
holstein

スコア8

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,14 @@
1
- 次の画像を入力画像として金属の部品をハフ変換で輪郭や溝のエッジを抽出したいと思っていますが、パラメータの調整が難しく上手くできません。どうしればよろしいでしょうか
1
+ ~~次の画像を入力画像として金属の部品をハフ変換で輪郭や溝のエッジを抽出したいと思っていますが、パラメータの調整が難しく上手くできません。どうしればよろしいでしょうか~~
2
+
3
+ みなさま、間際らしい質問をしてしまい申し訳ございません。私はハフ変換で金属の部品の溝や輪郭の座標を求めたいと思っておりました。jbpb0様から意見で確率的ハフ変換を導入しても綺麗に溝や輪郭の検出ができせん。すいませんがどうすればよいか教えてくれないでしょうか。また入力画像、ハフ変換と確率的ハフ変換の出力画像とソースコードを上げておきます。
2
4
 
3
5
  ![入力画像](ae1538c11b027ad04a340ad09578317c.png)
4
6
 
5
- ![![出力画像](1190ebc50da1cf4a971c6cb196d60b7c.png)]
7
+ ![ハフ変換の出力画像](1190ebc50da1cf4a971c6cb196d60b7c.png)]
8
+
9
+ ![確率的ハフ変換の出力画像](2721bd6a34905fcda773d854e813581b.png)
10
+
11
+
6
12
 
7
13
  ```python
8
14
 
@@ -47,3 +53,35 @@
47
53
  cv2.imwrite('output.jpg',img)
48
54
 
49
55
  ```
56
+
57
+ ```Python
58
+
59
+ import cv2
60
+
61
+ import numpy as np
62
+
63
+ img = cv2.imread('input.png')
64
+
65
+ gray=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)[:,:,1]
66
+
67
+ edges = cv2.Canny(gray,50,150,apertureSize = 3)
68
+
69
+ minLineLength = 50
70
+
71
+ maxLineGap = 10
72
+
73
+ lines = cv2.HoughLinesP(edges,1,np.pi/180,100,minLineLength,maxLineGap)
74
+
75
+ for line in lines:
76
+
77
+ for x1,y1,x2,y2 in line:
78
+
79
+ cv2.line(img,(x1,y1),(x2,y2),(0,0,255),2)
80
+
81
+
82
+
83
+
84
+
85
+ cv2.imwrite('output.png',img)
86
+
87
+ ```