OpenCV प्लेटफॉर्म पायथन के लिए cv2 लाइब्रेरी प्रदान करता है। इसका उपयोग विभिन्न आकार विश्लेषण के लिए किया जा सकता है जो कंप्यूटर विजन में उपयोगी है। इस लेख में हम Open CV का उपयोग करके वृत्त के आकार की पहचान करेंगे। इसके लिए हम cv2.HoughCircles() फ़ंक्शन का उपयोग करेंगे। यह हफ़ ट्रांसफॉर्म का उपयोग करके ग्रेस्केल छवि में वृत्त ढूंढता है। नीचे दिए गए उदाहरण में हम एक छवि को इनपुट के रूप में लेंगे। फिर उसकी एक कॉपी बनाएंगे और आउटपुट में वृत्त की पहचान करने के लिए इस ट्रांसफॉर्म फ़ंक्शन को लागू करेंगे।
सिंटैक्स
cv2.HoughCircles(image, method, dp, minDist) जहां image ग्रेस्केल में परिवर्तित छवि फ़ाइल है method वृत्त का पता लगाने के लिए उपयोग किया जाने वाला एल्गोरिदम है dp संचयक रिज़ॉल्यूशन का छवि रिज़ॉल्यूशन से व्युत्क्रम अनुपात है minDist पता लगाए गए वृत्तों के केंद्र निर्देशांकों के बीच न्यूनतम दूरी है
उदाहरण
नीचे दिए गए उदाहरण में हम नीचे दी गई छवि को अपनी इनपुट छवि के रूप में उपयोग करते हैं। फिर वृत्त प्राप्त करने के लिए नीचे दिए गए प्रोग्राम को चलाते हैं।

नीचे दिया गया प्रोग्राम छवि फ़ाइल में वृत्त की उपस्थिति का पता लगाता है। यदि वृत्त मौजूद है तो यह इसे हाइलाइट करता है।
उदाहरण
import cv2
import numpy as np
image = cv2.imread('circle_ellipse_2.JPG')
output = image.copy()
img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# वृत्त खोजें
circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1.3, 100)
# यदि कोई वृत्त मिला
if circles is not None:
# (x, y, r) को पूर्णांक के रूप में प्राप्त करें
circles = np.round(circles[0, :]).astype("int")
print(circles)
# वृत्त पर लूप करें
for (x, y, r) in circles:
cv2.circle(output, (x, y), r, (0, 255, 0), 2)
# आउटपुट छवि दिखाएं
cv2.imshow("circle", output)
cv2.waitKey(0)
आउटपुट
[[93 98 84]]
और हमें नीचे दिया गया आरेख आउटपुट दिखाता है।

निष्कर्ष
OpenCV में HoughCircles का उपयोग करके छवि में वृत्त पहचानें और हाइलाइट करें।