日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python-OpenCV 笔记3 -- 霍夫变换(Hough)

發布時間:2025/3/12 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python-OpenCV 笔记3 -- 霍夫变换(Hough) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python-OpenCV 筆記2 – 霍夫變換(Hough)


1、標準霍夫變換 HoughLinesP

函數原型:

HoughLines(image, rho, theta, threshold, lines=None, srn=None, stn=None, min_theta=None, max_theta=None)
  • image:8位、二值單通道圖片
  • rho:直線半徑的搜索步長,單位為像素
  • theta:直線角度使得搜索步長,單位為弧度
  • threshold:累加閾值,只有屬于同一直線的點數超過該閾值才會被檢測為直線
  • lines :存儲檢測結果,直線用半徑和角度表示
  • min_theta :檢測直線的最小角度,[0, max_theta]
  • max_theta :檢測直線的最大角度
import cv2 import numpy as np# 讀取圖片>轉為灰度圖>canny邊緣檢測>概率霍夫變換 img = cv2.imread('1.jpg') gray = cv2.cvtColor(img,cv.COLOR_BGR2GRAY) edges = cv2.Canny(gray,50,150,apertureSize = 3) lines = cv2.HoughLines(edges,1,np.pi/180,200)# 根據極坐標計算平面坐標 for line in lines:rho,theta = line[0]a = np.cos(theta)b = np.sin(theta)x0 = a*rhoy0 = b*rhox1 = int(x0 + 1000*(-b))y1 = int(y0 + 1000*(a))x2 = int(x0 - 1000*(-b))y2 = int(y0 - 1000*(a))# 畫線cv2.line(img,(x1,y1),(x2,y2),(0,0,255),2)cv2.imshow('houghlines', img) cv2.waitKey(0) cv2.destroyAllWindows()

2、概率霍夫變換 HoughLinesP

函數原型:

HoughLinesP(image, rho, theta, threshold, lines=None, minLineLength=None, maxLineGap=None)
  • image:8位、二值單通道圖片
  • rho:直線半徑的搜索步長,單位為像素
  • theta:直線角度使得搜索步長,單位為弧度
  • threshold:累加閾值,只有屬于同一直線的點數超過該閾值才會被檢測為直線
  • lines :存儲檢測結果1x1x4的矩陣,直線用兩點坐標表示(x1, y1, x2, y2)
  • minLineLength :檢測為直線的最短長度,單位為像素
  • maxLineGap:直線斷點的最大距離
import cv2 import numpy as np # 讀取圖像>高斯模糊>邊緣檢測 img = cv2.imread("1.jpg") img = cv2.GaussianBlur(img, (3,3), 0) edges = cv2.Canny(img, 50, 150, apertureSize = 3)# 概率霍夫變換 minLineLength = 200 maxLineGap = 15 lines = cv2.HoughLinesP(edges, 1, np.pi/180, 80, minLineLength, maxLineGap) # lines = np.squeeze(lines)# 畫線 for line in lines:x1,y1,x2,y2 = line[0]cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)cv2.imshow('HoughLinesP', img) cv2.waitKey(0) cv2.destroyAllWindows()

總結

以上是生活随笔為你收集整理的Python-OpenCV 笔记3 -- 霍夫变换(Hough)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。