42 lines
No EOL
849 B
Python
Executable file
42 lines
No EOL
849 B
Python
Executable file
#!/usr/bin/env python
|
|
|
|
import numpy as np
|
|
from math import pi
|
|
import cv2
|
|
import cv
|
|
import sys
|
|
|
|
if len(sys.argv) > 1:
|
|
fn = sys.argv[1]
|
|
print 'loading %s ...' % fn
|
|
img1 = cv2.imread(fn, 0)
|
|
img = cv.LoadImage(fn, cv.CV_LOAD_IMAGE_GRAYSCALE)
|
|
size = cv.GetSize(img)
|
|
|
|
temp = cv.CreateImage(size, img.depth, img.nChannels)
|
|
print temp
|
|
cv.Smooth(img, temp)
|
|
|
|
canny = cv2.Canny(temp, 50, 100)
|
|
color_dst = cv2.cvtColor(canny, cv2.COLOR_GRAY2BGR)
|
|
lines = cv2.HoughLinesP(canny, 1, pi/90, 20, np.array([]), 5)
|
|
|
|
try:
|
|
for line in lines[0]:
|
|
cv2.line(color_dst, (line[0], line[1]), (line[2], line[3]), cv.RGB(255,0,0), 1, 8)
|
|
except:
|
|
pass
|
|
|
|
print lines[0].size
|
|
|
|
cv2.namedWindow("Original")
|
|
cv2.imshow("Original", img)
|
|
|
|
cv2.namedWindow('Lines image')
|
|
cv2.imshow('Lines image', color_dst)
|
|
|
|
cv2.waitKey()
|
|
|
|
|
|
else:
|
|
print "Please give a image path" |