18

तो मैं इसक्या तस्वीर पर LINES खोजने के लिए कोई सुपर फास्ट एल्गोरिदम है?

CG generated bathroom http://www.de-viz.ru/catalog/new2/Holm/hvannaya.jpg

मैं कुछ इस तरह (मैं सभी लाइनों मैं चाहता हूँ तैयार hevent लेकिन मुझे आशा है कि तुम मेरे विचार प्राप्त कर सकते)

Black & White CG generated bathroom with some red lines between tiles http://superior0.narod.ru/lines.jpg

प्राप्त करना चाहते हैं की तरह छवि मुझे इस पर सभी सीधी रेखाओं को खोजने के लिए कुछ सुपर फास्ट एल्गोरिदम चाहिए। मैं एल्गोरिदम पैरामीटर जैसे न्यूनतम लंबाई और अधिकतम रेखा विरूपण देना चाहता हूं। मैं तस्वीर पिक्सेल कॉर्ड के लाइनों के प्रारंभ और अंत बिंदुओं के सापेक्ष प्राप्त करना चाहता हूं।

तो इस तस्वीर पर शीर्ष पर टाइल्स और थूस 2 ब्लैक लाइनों के बीच की सभी लाइनें ढूंढने के लिए।

तो मुझे चित्र पर विभिन्न रंगों की सुपर फास्ट ढूंढने के लिए एल्गोरिदम की आवश्यकता है।

क्या ऐसा कोई एल्गोरिदम है? (सुपर डुपर फास्ट =)

+0

क्या आप उन लाइनों को चिह्नित कर सकते हैं जिन्हें आप ढूंढना चाहते हैं?आपका मतलब क्या है "डेल"? टाइल्स? – Jacob

+0

dalles = मेरे शब्दकोश में टाइल्स ...) हां) मैं उदाहरण के लिए सभी सीधी रेखाओं को 25 पिक्सेल से कम और 100 पिक्सेल की न्यूनतम लंबाई के साथ चाहता हूं। – Rella

+0

पहला लिंक मर चुका है। – hippietrail

उत्तर

14

आप इस तरह के कैनी एज जांच, मार-Hildreth बढ़त का पता लगाने, गाऊसी छनन और Hough के रूप में परिष्कृत छवि प्रसंस्करण विधियों का उपयोग करने आदि

लेकिन के अस्तित्व रूपांतरण की जरूरत है "सुपर तेजी से" विधि अत्यधिक है संभावना नहीं है।

अधिकांश छवि प्रसंस्करण एल्गोरिदम की न्यूनतम जटिलता कम से कम O(N^2) है।

द्वारा "सुपर तेजी से" मैं सबसे O(1) पर मतलब;)

कुछ लिंक है कि मदद कर सकता है:

  1. http://www.sci.utah.edu/~cscheid/spr05/imageprocessing/project4/
  2. http://www.contrib.andrew.cmu.edu/~suppe/mobot/
  3. http://www.dunwich.org/baptiste/sic/ecms/ecpublis.html#2
  4. http://wayback.archive.org/web/20090304153603/http://hdebruijn.soo.dto.tudelft.nl/jaar2006/alders.htm
+3

लिंक 2 के लिए प्राधिकरण की आवश्यकता है और लिंक 4 404'd है। दूसरों के लिए धन्यवाद –

+1

आह मैं देखता हूं कि मेरे पिता को जोड़ा गया है [4], मैं उसे बता दूंगा। :-) इसके लिए एक बेहतर लिंक है: http://www.alternatievewiskunde.nl/jaar2006/delphi.htm, जहां आप स्रोत कोड और अन्य सामान भी पा सकते हैं। – atlaste

5

मुझे लगता है कि आपको Hough transform या Radon transform की आवश्यकता है। मेरे द्वारा लिंक किए गए लेख पढ़ें और किसी भी प्रश्न पूछने के लिए स्वतंत्र महसूस करें :)

+0

हफ़ ट्रांसफॉर्म काफी धीमा है ... और मुझे 2k लाइव वीडियो के साथ काम करना है ... अब रेडॉन में देख रहे हैं ... – Rella

+0

.. अगर आप इसे अपनी विशेष समस्या पर ट्यून नहीं करते हैं। यदि आप कम से कम – JBRWilkinson

0

मुझे नहीं पता कि यह आपके एप्लिकेशन में कितना अच्छा काम करेगा, लेकिन आप edge detection दृष्टिकोण के किसी प्रकार का प्रयास कर सकते हैं। सुनिश्चित नहीं है कि उन किनारों को वेक्टर में कैसे परिवर्तित करें, यदि आप यही चाहते हैं, लेकिन यह शुरू करने के लिए एक जगह हो सकती है। वैसे भी, कुछ किनारे का पता लगाने एल्गोरिदम (उदा। Discrete Laplace Operator) मॉडरम कंप्यूटिंग आर्किटेक्चर पर बहुत तेज़ हैं।

ओह, और यदि आप ऐसा करते हैं, तो आप शायद छवि को YCbCr में परिवर्तित करना चाहते हैं और केवल लुमा (वाई) घटक का उपयोग करना चाहते हैं। यही कारण है कि यह भी एक तेजी से आपरेशन

+0

सटीकता को कम करते हैं तो आप प्रदर्शन में सुधार के लिए कुछ गणित तालिकाओं की पूर्व-गणना कर सकते हैं यदि आप सभी के बाद तीव्रता मान है तो वाईसीबीसीआर में कनवर्ट करने की आवश्यकता नहीं है। – ergosys

1

http://outliner.codeplex.com/ में वर्णित समोच्च बिंदु एल्गोरिदम पर विचार करें यह स्ट्रोक में व्यवस्थित बेजियर वक्र के रूप में वेक्टर-वर्णित किनारों का उत्पादन करेगा। आपको सबसे अधिक स्ट्रॉघ स्ट्रोक चुनने के लिए कुछ प्रयास की आवश्यकता है (अंत बिंदु उपयोग करने के लिए तैयार हैं)। यह एल्गोरिदम काफी तेज है लेकिन सुपर डुप्कर नहीं है।

संबंधित मुद्दे