मेरी एक छवि है जो नीचे दी गई है:
मैं सर्कल के त्रिज्या (या व्यास) को खोजने की कोशिश कर रहा हूं। मैंने परिपत्र हूप ट्रांसफॉर्मेशन (मैटलैब के माध्यम से imfindcircles(bw,[rmin rmax],'ObjectPolarity','bright')
), और एक सर्कल या एक दीर्घवृत्त (घर का बना फ़ंक्शन जो कम शोर डेटा के लिए बहुत अच्छी तरह से काम करता है, नीचे देख कर) का उपयोग करके कोशिश की है।
मैंने एक स्पष्ट सर्कल प्राप्त करने के लिए कुछ इमेज प्रोसेसिंग की भी कोशिश की है, उदाहरण के लिए, नीचे देखें:
se = strel('disk', 2);
bw = imdilate(bw, se);
bw = bwareaopen(bw,100000);
bw = edge(bw);
हालाँकि, जब मैं प्रोसेस्ड इमेज को या तो तकनीकों (Hough and Circle \ ellipse फिटिंग) को फीड करता हूं, तो दोनों में से किसी को भी एक अच्छे तरीके से सर्कल का पता लगाने का प्रबंधन नहीं करते हैं।
यहाँ पर मैंने (matlab) [पंक्ति कर्नल] = find (bw) सर्कल सर्कल खोजक का एक कोड स्निपेट लिखा है; contour = bwtraceboundary (bw, row (1), col (1)], 'N', कनेक्टिविटी, num_point);
x = contour(:,2);
y = contour(:,1);
% solve for parameters a, b, and c in the least-squares sense by
% using the backslash operator
abc = [x y ones(length(x),1)] \ -(x.^2+y.^2);
a = abc(1); b = abc(2); c = abc(3);
% calculate the location of the center and the radius
xc = -a/2;
yc = -b/2;
radius = sqrt((xc^2+yc^2)-c);
वैकल्पिक दृष्टिकोण की सराहना की जाएगी ...