opencv自學筆記 13 霍夫直線檢測

2021-08-22 16:25:59 字數 1418 閱讀 7245

轉換灰度圖——邊緣檢測——霍夫線變換

# -*- coding: utf-8 -*-

"""霍夫直線檢測

轉換灰度圖,邊緣檢測,霍夫線變換

@author: lnp

"""import cv2 as cv

import numpy as np

#標準霍夫線變換 貫穿非直線

def line_detect_demo(image):

copying=image.copy()

gray=cv.cvtcolor(copying,cv.color_bgr2gray)

edge=cv.canny(gray,50,150)

lines=cv.houghlines(edge,1,np.pi/180,200)#1:畫素半徑 np.pi/180:角度解析度 200:閾值

for line in lines:

rho,theta=line[0]

a=np.cos(theta)

b=np.sin(theta)

x0=a*rho

y0=b*rho

#opencv 源**要求這樣計算

x1=int(x0+1000*(-b))

y1=int(y0+1000*(a))

x2=int(x0-1000*(-b))

y2=int(y0-1000*(a))

cv.line(copying, (x1,y1),(x2,y2),(0,0,255),2)

cv.imshow('line_detect',copying)

#統計霍夫變換 分段的直線

opencv筆記 霍夫變換

霍夫變化 opencv霍夫變化 opencv中的霍夫直線檢測的函式為houghlines 改進版本的houghlinesp函式 統計概論霍夫直線檢測 void houghlines inputarray image,輸入8 位元 單通道 二值 影象 outputarray lines,輸出的角度和r...

OpenCV 霍夫線變換 霍夫圓變換

關於霍夫變換在官方文件opencv249裡的描述如下 api如下 void houghlines inputarray image,outputarray lines,double rho,double theta,int threshold,double srn 0,double stn 0 vo...

opencv學習筆記十五 霍夫變換

一 霍夫直線變換 houghlinesp inputarray image,outputarray lines,double rho,double theta,int threshold,double minlinelength 0,double maxlinegap 0 引數解釋 image 邊緣...