Amazing-Python-Scripts
27 строк · 964.0 Байт
1# from turtle import circle
2import cv2
3import numpy as np
4from tkinter.filedialog import *
5import tkinter as tk
6
7photo = askopenfilename()
8img = cv2.imread(photo, cv2.IMREAD_GRAYSCALE)
9blurred = cv2.medianBlur(img, 5)
10edges = cv2.Canny(blurred, 50, 150, apertureSize=3)
11# the image read in grayscale format is blurred and edges are detected in it
12circles = cv2.HoughCircles(edges, cv2.HOUGH_GRADIENT,
131, 30, param1=50, param2=31, minRadius=0, maxRadius=0)
14# the parameters in the above function needs to be adjusted for each image accordingly.
15circles = np.uint16(np.around(circles))
16
17colorImg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
18for i in circles[0, :]:
19cv2.circle(colorImg, (i[0], i[1]), i[2], (0, 255, 0), 2)
20# drawing the circle
21cv2.circle(colorImg, (i[0], i[1]), 2, (0, 0, 255), 3)
22# drawing its center
23
24cv2.imwrite('output.jpg', colorImg)
25cv2.imshow('output', colorImg)
26cv2.waitKey(2000)
27cv2.destroyAllWindows()
28