OpenCV | 霍夫变换检测直线

上次写的不好,这次重写一个霍夫变化的框架,里面包括灰度转换、滤波

canny边缘检测、霍夫变换等......

原始图像

python 复制代码
import cv2
import numpy as np
import matplotlib.pyplot as plt#Matplotlib是RGB
%matplotlib inline 

def detect_parking_lines(image_path):
    # 读取图像
    img = cv2.imread(image_path)

    # 灰度转换
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    # 高斯滤波
    gray = cv2.GaussianBlur(gray, (5, 5), 0)

    # Canny 边缘检测
    edges = cv2.Canny(gray, 50, 150)

    # Hough 变换检测直线
    lines = cv2.HoughLines(edges, 1, np.pi / 180, 130)

    # 绘制检测到的直线
    if lines is not None:
        for line in lines:
            rho, theta = line[0]
            a = np.cos(theta)
            b = np.sin(theta)
            x0 = a * rho
            y0 = b * rho
            x1 = 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, 255, 0), 2)

    # 显示结果
    cv2.imshow('Detected Parking Lines', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

# 调用函数进行车位线检测
detect_parking_lines('chessboard.jpg')

识别后图像:

相关推荐
杰克逊的日记9 分钟前
TensorFlow
人工智能·python·tensorflow
搞程序的心海11 分钟前
用Python和OpenCV开启图像处理魔法之旅
图像处理·python·opencv
DragonnAi16 分钟前
猫咪如厕检测与分类识别系统系列【一】 功能需求分析及猫咪分类特征提取
人工智能·分类
前端加油站35 分钟前
全网最精华的提示词工程总结
人工智能·llm
SmallFatMan1 小时前
智能客服系统中的意图识别与分类技术详解
大数据·人工智能·ai·数据挖掘·ai编程
爱吃猫的鱼ouou1 小时前
(八)lerobot开源项目扩展so100的仿真操控(操作记录)
人工智能·ubuntu·机器人·mujoco
AI街潜水的八角3 小时前
深度学习图像分类数据集—枣子水果成熟度分类
人工智能·深度学习·分类
亿信华辰软件4 小时前
大模型重构数据治理新范式:亿信华辰“AI+睿治“的六大智能化突破
人工智能·大模型·数据治理
MILI元宇宙4 小时前
AI搜索+法律咨询:在「事实重构」与「程序正义」的博弈场‌
人工智能
听吉米讲故事5 小时前
Llama 4全面评测:官方数据亮眼,社区测试显不足之处
人工智能·开源·llama