Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. import cv2
  2. import numpy as np
  3.  
  4. img_file = 'Image.jpg'
  5. img = cv2.imread(img_file, cv2.IMREAD_COLOR)
  6.  
  7. imgDim = img.shape
  8. dimA = imgDim[0]
  9. dimB = imgDim[1]
  10.  
  11. # RGB to Gray scale conversion
  12. img_gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
  13. # Noise removal with iterative bilateral filter(removes noise while preserving edges)
  14. noise_removal = cv2.bilateralFilter(img_gray,9,75,75)
  15. # Thresholding the image
  16. ret,thresh_image = cv2.threshold(noise_removal,220,255,cv2.THRESH_OTSU)
  17. th = cv2.adaptiveThreshold(noise_removal, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
  18.  
  19. # Applying Canny Edge detection
  20. canny_image = cv2.Canny(th,250,255)
  21. canny_image = cv2.convertScaleAbs(canny_image)
  22.  
  23. # dilation to strengthen the edges
  24. kernel = np.ones((3,3), np.uint8)
  25. # Creating the kernel for dilation
  26. dilated_image = cv2.dilate(canny_image,kernel,iterations=1)
  27. np.set_printoptions(threshold=np.nan)
  28.  
  29. _, contours, h = cv2.findContours(dilated_image, 1, 2)
  30. contours= sorted(contours, key = cv2.contourArea, reverse = True)[:1]
  31.  
  32.  
  33. corners = cv2.goodFeaturesToTrack(thresh_image,6,0.06,25)
  34. corners = np.float32(corners)
  35.  
  36. for item in corners:
  37. x,y = item[0]
  38. cv2.circle(img,(x,y),10,255,-1)
  39. cv2.namedWindow("Corners", cv2.WINDOW_NORMAL)
  40. cv2.imshow("Corners",img)
  41. cv2.waitKey()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement