OpenCV-Python-模块匹配与霍夫变换

© Fu Xianjun. All Rights Reserved.

文章目录

  • 前言
  • 使用步骤
    • 1.模板匹配的概念
    • 2.印花检测
    • 3.霍夫变换的概念
    • 4.车道检测
  • 总结


前言

模板匹配的操作方式是将模板图像B在图像A上滑动,遍历所有像素以完成匹配。

 

使用步骤

1.模板匹配的概念

result = cv2.matchTemplate(image, template,method)

Result为运行结果

Image为待处理图像

Template为模板图像

Method为要采取的方法

method:方法:有以下6种 差值平方和匹配                 

CV_TM_SQDIFF 标准化差值平方和匹配       

CV_TM_SQDIFF_NORMED 相关匹配                         

CV_TM_CCORR 标准相关匹配                     

CV_TM_CCORR_NORMED 相关匹配                             

CV_TM_CCOEFF 标准相关匹配                      

CV_TM_CCOEFF_NORMED

min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(src)

min_val为返回的最小值

max_val为返回的最大值

min_loc为最小值的位置

Max_loc为最大值的位置

2.印花检测

OpenCV-Python-模块匹配与霍夫变换_第1张图片

OpenCV-Python-模块匹配与霍夫变换_第2张图片

3.霍夫变换的概念

lines = cv2.HoughLines(image, rho, theta, threshold)

image: 待处理图像。

rho: (ρ,θ)中ρ的精度。

theta: (ρ,θ)中θ的精度。

threshold: 阈值,(ρ,θ)对应的最低投票数。>=threshold被检测为一条线。

lines = cv2.HoughLinesP(image, rho, theta, threshold, minLineLength, maxLineGap)

minLineLength:最小长度。

maxLineGap:共线线段之间的最小间隔。

lines = cv2.HoughCircles(image, method, dp, minDist)

minDist:检测到的圆的中心,(x,y)坐标之间的最小距离。

4.车道检测

OpenCV-Python-模块匹配与霍夫变换_第3张图片

OpenCV-Python-模块匹配与霍夫变换_第4张图片


总结


霍夫变换是一种在图像中寻找直线,圆形以及其他简单形状的方法。

你可能感兴趣的:(python)