• lines=cv2.HoughLines(edges1,1,math.pi/180.0,120)
• 共有四個參數
• 1.輸入的影像,必須是灰階影像。
• 2.rho以像素為單位的距離精度,一般會設定為1。
• 3.theta,代表偵測時角度設定,math.pi/180.0 代表探索所有可能的角度。
• 4.偵測的閥值,這個數值愈小,判定出來的直線就會愈多
• is not None代表有偵測到直線。
• 以這個練習為例,shape為5X1X2。
• lines[0][0]代表rho距離。
• lines[0][1]代表theta角度。
• a的內容代表cos結果。
• b的內容代表sin結果。
• sin代表 三角座標的 高/ 斜
• cos代表三角座標的 底/斜
• 我們知道cv2.HoughLines( )找出來的直線是任意角度。
• x0與y0代表繪製直線的原始位置的距離。
• 我們依照sin與cos的角度關係,找出直線的起訖的位置:
• 起點:x0+1000*(-b),y0+1000*(a)
• 終點:x0-1000*(-b),y0-1000*(a)
• 1000代表直線的長度,長度可以調整。
• 原點於左上角。
• Q:可是sin不是垂直,而cos是水平?
• (tan是斜率)
• A:
• 配合前面HoughLines()方法推算,所以sin與cos是反過來。
歡迎光臨 TShopping (http://www.tshopping.com.tw/) | Powered by Discuz! X3.2 |