Opencv——霍夫变换

霍夫直线变换

霍夫直线变换(Hough Line Transform)用来做直线检测

为了加升大家对霍夫直线的理解,我在左图左上角大了一个点,然后在右图中绘制出来经过这点可能的所有直线Opencv——霍夫变换_第1张图片

绘制经过某点的所有直线的示例代码如下,这个代码可以直接拷贝运行 

import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np

def draw_line():
    # 绘制一张黑图
    img = np.zeros((500, 500, 1), np.uint8)
    # 绘制一个点
    cv.line(img, (10, 10), (10, 10), (255), 1)
    cv.imshow("line",img)
    return img

def hough_lines(img):
    rho = 1;
    theta = np.pi/180
    threshold=0
    lines = cv.HoughLines(img,rho, theta, threshold)

    dst_img = img.copy()

    for line in lines[:,0]:
        rho,theta = line
        a = np.cos(theta)
        b = np.sin(theta)
        x = a*rho
        y=b*rho

        x1 = 

你可能感兴趣的:(机器学习Opencv,opencv,计算机视觉,人工智能,深度学习,人机交互)