Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में ओपनसीवी संभाव्य हफ़ लाइन रूपांतरण कार्यान्वयन।


आप किसी दिए गए चित्र में Hough लाइन ट्रांसफ़ॉर्म का उपयोग करके सीधी रेखाओं का पता लगा सकते हैं। OpenCV में दो प्रकार के Hough Line Transforms उपलब्ध हैं, जैसे कि Standard Hough लाइन ट्रांसफ़ॉर्म और, Probabilistic Hough Line Transform.

आप संभाव्य हफ़ लाइन ट्रांसफ़ॉर्म apply लागू कर सकते हैं HoughLinesP() . का उपयोग करके Imgproc वर्ग की विधि, यह विधि निम्नलिखित मापदंडों को स्वीकार करती है -

  • स्रोत छवि और वेक्टर का प्रतिनिधित्व करने वाली दो मैट ऑब्जेक्ट्स जो लाइनों के पैरामीटर (आर, Φ) को स्टोर करती हैं।

  • पैरामीटर r (पिक्सेल) और Φ (रेडियन) के रिज़ॉल्यूशन का प्रतिनिधित्व करने वाले दो दोहरे चर।

  • एक पूर्णांक जो किसी रेखा को "पता लगाने" के लिए चौराहों की न्यूनतम संख्या को दर्शाता है।

उदाहरण

निम्नलिखित जावा उदाहरण OpenCV में संभाव्य हफ़ लाइन ट्रांसफ़ॉर्म का उपयोग करके एक छवि में लाइनों का पता लगाता है -

आयात करें javafx.scene.Scene आयात करें आयात करें सार्वजनिक शून्य प्रारंभ (चरण चरण) IOException फेंकता है {// OpenCV कोर लाइब्रेरी लोड हो रहा है System.loadLibrary(Core.NATIVE_LIBRARY_NAME); स्ट्रिंग फ़ाइल ="D:\\Images\\road4.jpg"; मैट स्रोत =Imgcodecs.imread (फ़ाइल); // छवि को ग्रे मैट ग्रे =नई मैट () में परिवर्तित करना; Imgproc.cvtColor(src, धूसर, Imgproc.COLOR_RGBA2GRAY); // किनारों का पता लगाना मैट किनारों =नया मैट (); Imgproc.Canny (ग्रे, किनारों, 60, 60*3, 3, असत्य); // कैनी मैट कैनीकलर का रंग बदलना =नया मैट (); Imgproc.cvtColor (किनारों, cannyColor, Imgproc.COLOR_GRAY2BGR); // (कैनी) मैट लाइनों =नई मैट () से हफ़ लाइनों का पता लगाना; Imgproc.HoughLinesP(किनारों, रेखाएं, 1, Math.PI/180, 50, 50, 10); for (int i =0; i

इनपुट इमेज

जावा में ओपनसीवी संभाव्य हफ़ लाइन रूपांतरण कार्यान्वयन।

आउटपुट

निष्पादित करने पर, उपरोक्त निम्नलिखित आउटपुट उत्पन्न करता है -

जावा में ओपनसीवी संभाव्य हफ़ लाइन रूपांतरण कार्यान्वयन।


  1. जावा का उपयोग करके ओपनसीवी में मेडियन ब्लर कैसे कार्यान्वित करें?

    आप कम-पास वाले फ़िल्टर का उपयोग करके किसी छवि को फ़िल्टर करके उसे धुंधला कर सकते हैं, यह एक छवि से उच्च आवृत्ति सामग्री (शोर, किनारों) को हटा देता है। मेडियन ब्लरिंग ओपनसीवी द्वारा प्रदान की गई धुंधली तकनीकों में से एक है, यह एक छवि के नमक और काली मिर्च के शोर को दूर करने में अत्यधिक कुशल है। यह के

  1. जावा का उपयोग करके ओपनसीवी में द्विपक्षीय धुंध कैसे कार्यान्वित करें?

    आप कम-पास वाले फ़िल्टर का उपयोग करके किसी छवि को फ़िल्टर करके उसे धुंधला कर सकते हैं, इससे छवि से उच्च आवृत्ति सामग्री (शोर, किनारों) को हटा दिया जाता है। द्विपक्षीय फ़िल्टरिंग OpenCV द्वारा प्रदान की जाने वाली धुंधली तकनीकों में से एक है, यह - शोर को कुशलता से हटा देता है किनारों को तेज रखता

  1. जावा का उपयोग करके ओपनसीवी में एक रेखा कैसे खींचना है?

    Java OpenCV लाइब्रेरी के org.opencv.imgproc पैकेज में Imgproc नामक एक वर्ग है। एक रेखा खींचने के लिए आपको रेखा () . का आह्वान करना होगा इस वर्ग की विधि। यह विधि निम्नलिखित मापदंडों को स्वीकार करती है - एक मैट वस्तु उस छवि का प्रतिनिधित्व करती है जिस पर रेखा खींची जानी है। दो बिंदु वस्तुएं उन ब