亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python+OpenCV圖像處理——實現直線檢測

瀏覽:3日期:2022-07-07 11:41:08

簡介:

1.霍夫變換(Hough Transform) 霍夫變換是圖像處理中從圖像中識別幾何形狀的基本方法之一,應用很廣泛,也有很多改進算法。主要用來從圖像中分離出具有某種相同特征的幾何形狀(如,直線,圓等)。最基本的霍夫變換是從黑白圖像中檢測直線(線段)。

2.Hough變換的原理是將特定圖形上的點變換到一組參數空間上,根據參數空間點的累計結果找到一個極大值對應的解,那么這個解就對應著要尋找的幾何形狀的參數(比如說直線,那么就會得到直線的斜率k與常熟b,圓就會得到圓心與半徑等等)

3.霍夫線變換是一種用來尋找直線的方法。用霍夫線變換之前, 首先需要對圖像進行邊緣檢測的處理,也即霍夫線變換的直接輸入只能是邊緣二值圖像。

4.霍夫直線檢測的具體原理參見:

http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.html

代碼如下:

#直線檢測#使用霍夫直線變換做直線檢測,前提條件:邊緣檢測已經完成import cv2 as cvimport numpy as np#標準霍夫線變換def line_detection(image): gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) edges = cv.Canny(gray, 50, 150, apertureSize=3) #apertureSize參數默認其實就是3 cv.imshow('edges', edges) lines = cv.HoughLines(edges, 1, np.pi/180, 80) for line in lines: rho, theta = line[0] #line[0]存儲的是點到直線的極徑和極角,其中極角是弧度表示的。 a = np.cos(theta) #theta是弧度 b = np.sin(theta) x0 = a * rho #代表x = r * cos(theta) y0 = b * rho #代表y = r * sin(theta) x1 = int(x0 + 1000 * (-b)) #計算直線起點橫坐標 y1 = int(y0 + 1000 * a) #計算起始起點縱坐標 x2 = int(x0 - 1000 * (-b)) #計算直線終點橫坐標 y2 = int(y0 - 1000 * a) #計算直線終點縱坐標 注:這里的數值1000給出了畫出的線段長度范圍大小,數值越小,畫出的線段越短,數值越大,畫出的線段越長 cv.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2) #點的坐標必須是元組,不能是列表。 cv.imshow('image-lines', image)#統計概率霍夫線變換def line_detect_possible_demo(image): gray = cv.cvtColor(image, cv.COLOR_RGB2GRAY) edges = cv.Canny(gray, 50, 150, apertureSize=3) # apertureSize參數默認其實就是3 lines = cv.HoughLinesP(edges, 1, np.pi / 180, 60, minLineLength=60, maxLineGap=5) for line in lines: x1, y1, x2, y2 = line[0] cv.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2) cv.imshow('line_detect_possible_demo',image)src = cv.imread(’E:/imageload/louti.jpg’)print(src.shape)cv.namedWindow(’input_image’, cv.WINDOW_AUTOSIZE) cv.imshow(’input_image’, src)line_detection(src)src = cv.imread(’E:/imageload/louti.jpg’) #調用上一個函數后,會把傳入的src數組改變,所以調用下一個函數時,要重新讀取圖片line_detect_possible_demo(src)cv.waitKey(0)cv.destroyAllWindows()

運行結果:

Python+OpenCV圖像處理——實現直線檢測

注意:

1.opencv的HoughLines函數是標準霍夫線變換函數,該函數的功能是通過一組參數對 Python+OpenCV圖像處理——實現直線檢測 的集合來表示檢測到的直線,其函數原型為:HoughLines(image, rho, theta, threshold[, lines[, srn[, stn[, min_theta[, max_theta]]]]]) -> lines

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产小视频网址 | 欧美成人精品第一区二区三区 | 国产主播福利精品一区二区 | 中文在线 | 中文 | 国产换爱交换乱理伦片 | 91视频免费观看 | 6080午夜一级毛片免费看 | 97国内免费久久久久久久久久 | 国产乱辈通伦影片在线播放亚洲 | 婷婷色中文网 | 久久久久777777人人人视频 | 国产成人91 | 欧美日韩亚洲人人夜夜澡 | 色综合婷婷 | 欧美特黄高清免费观看的 | 国产91亚洲精品 | 国产精品免费视频一区 | 免费国外性视频网站 | 日韩一级片免费在线观看 | 成人免费久久精品国产片久久影院 | 精品你懂的| 亚洲在线视频一区 | 色综合一区二区三区 | 久久免费视频7 | 久久精品国产99国产精品澳门 | 美女被免费网站91 | 中国xxxxxxxxx孕交 | 亚洲精品午夜aaa级久久久久 | 国产aaa毛片| 国产三级观看 | 色视网 | 亚洲国产精品成人综合久久久 | 久久久久婷婷国产综合青草 | 日本a黄色片| 国产美女精品视频 | 国产性较精品视频免费 | 国内精品福利在线视频 | 国产高清在线视频伊甸园 | 国产在线观看精品香蕉v区 国产在线每日更新 | 国产成人一区二区三区视频免费 | 亚洲精品一区二区三区婷婷月 |