一.文字方面的叙述
详情参考此链接
二.python程序
# -*- coding:utf-8 -*-
import cv2
import numpy as np
#1.载入原始图,并转换成灰度图
image = cv2.imread("images/005.jpg",0)
#2.进行边缘检测和转换成灰度图
cimage = cv2.Canny(image,500,380)
#3.进行霍夫线变换
lines = cv2.HoughLines(cimage,1,np.pi/180,250,0,0)#第四个参数为阈值,可以调这个
#4.依次在图中绘制出每条线段
if lines is not None:
_lines = lines[:, 0, :] # 提取为二维
for rho,theta in _lines[:]:
a = np.cos(theta)
b = np.sin(theta)
x0, y0 = a * rho, b * rho
pt1 = ( int(x0 + 1000 * (-b)), int(y0 + 1000 * (a)) )
pt2 = ( int(x0 - 1000 * (-b)), int(y0 - 1000 * (a)) )
ds1 = cv2.line(cimage,pt1, pt2, (55, 100, 195), 2)
#5.显示图像
cv2.imshow("yuanshitu",image)
cv2.imshow("cimage",cimage)
cv2.imshow("hough lines", ds1)
cv2.waitKey(0)