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

पायथन प्रोग्रामिंग का उपयोग करके इमेज आधारित स्टेग्नोग्राफी


इस लेख में, हम पायथन का उपयोग करके इमेज-आधारित स्टेग्नोग्राफी के बारे में जानेंगे। स्टेग्नोग्राफी ऑडियो, वीडियो और इमेज के पीछे टेक्स्ट छिपाने की एक विधि है। इसका उपयोग सुरक्षा बढ़ाने और झूठे कॉपीराइट दावों से सुरक्षा के लिए किया जाता है।

हम पायथन में उपलब्ध stepic मॉड्यूल में एन्कोडिंग फीचर की मदद से इसे प्राप्त कर रहे हैं। प्रदर्शन और देखने के उद्देश्यों के लिए हम पायथन में उपलब्ध PIL (पायथन इमेजिंग लाइब्रेरी) का उपयोग करते हैं।

पसंदीदा IDE - जुपिटर नोटबुक

सभी निर्भरताओं को इम्पोर्ट करना -

>>> from PIL import Image

>>> import stepic

इस लेख में, हम नीचे दी गई इमेज पर टेक्स्ट एन्कोड करेंगे। कृपया नीचे दी गई इमेज डाउनलोड करें और इसे जुपिटर नोटबुक लोकलहोस्ट फोल्डर में "logo.png" के रूप में सेव करें।

पायथन प्रोग्रामिंग का उपयोग करके इमेज आधारित स्टेग्नोग्राफी

आप अपनी पसंद की किसी भी इमेज का उपयोग कर सकते हैं। आपको बस डबल कोट्स के भीतर अपनी इमेज का पथ निर्दिष्ट करना होगा।

>>> img = Image.open('logo.png')
>>> img.show()

यहां इमेज फंक्शन हमें उस "इमेज" को खोलने की अनुमति देता है जिस पर स्टेग्नोग्राफी की जानी है। .show() फंक्शन हमें इमेज को पॉपअप के रूप में देखने की अनुमति देता है जैसा कि नीचे दिखाया गया है।

पायथन प्रोग्रामिंग का उपयोग करके इमेज आधारित स्टेग्नोग्राफी

अब stepic मॉड्यूल का उपयोग करके हम ASCII मान का उपयोग करके एक संदेश को 8-बिट बाइनरी डेटा में एन्कोड करते हैं। एन्कोडिंग के लिए .encode() फंक्शन का उपयोग किया जाता है जो दो पैरामीटर स्वीकार करता है यानी इमेज और संदेश।

हम अपने मूल इमेज में छिपे हुए संदेश को सेव करने के लिए .save() फंक्शन का उपयोग करते हैं।

>>> img1 = stepic.encode(im, b'Tutorialspoint')
>>> img1.save('logo.png', 'PNG')

अब आइए एन्कोडेड इमेज प्रदर्शित करते हैं।

>>> img1 = Image.open('logo.png')
>>> img1.show()

पायथन प्रोग्रामिंग का उपयोग करके इमेज आधारित स्टेग्नोग्राफी

मुझे लगता है कि आप दोनों इमेज में कोई बदलाव नहीं देखते। ऐसा इसलिए है क्योंकि संदेश छिपा हुआ है और सीधे दिखाई नहीं देता।

यह सत्यापित करने के लिए कि आपने सफलतापूर्वक संदेश एन्कोड कर लिया है, नीचे दिए गए कोड को देखें।

>>> im2 = Image.open('logo.png')
>>> message_hidden = stepic.decode(im2)
>>> print(message_hidden)


'Tutorialspoint'

यहां छिपा हुआ/एन्कोडेड संदेश पायथन में उपलब्ध stepic मॉड्यूल के बिल्ट-इन डिकोडर द्वारा प्रदर्शित किया जाता है।

निष्कर्ष

इस लेख में, हमने पायथन 3.x या उससे पहले के संस्करण में stepic और PIL मॉड्यूल का उपयोग करके इमेज-आधारित स्टेग्नोग्राफी के बारे में सीखा।

  1. पायथन में आकार विशेषताओं के आधार पर छवियों को फ़िल्टर करना पायथन में आकार विशेषताओं के आधार पर छवियों को फ़िल्टर करना

    पायथन छवि प्रसंस्करण के लिए कई लाइब्रेरी प्रदान करता है जिनमें पिलो (Pillow), पायथन इमेजिंग लाइब्रेरी (PIL), साइकिट-इमेज (scikit-image) और ओपनसीवी (OpenCV) शामिल हैं। इंस्टॉलेशन हम यहां पिलो लाइब्रेरी का उपयोग करेंगे क्योंकि यह छवि हेरफेर के लिए कई मानक प्रक्रियाएं प्रदान करती है और जेपीईजी, पीएनजी

  1. पायथन का उपयोग करके छवियों को पढ़ना पायथन का उपयोग करके छवियों को पढ़ना

    ओपनसीवी (OpenCV) का उपयोग करके छवि प्रसंस्करण ओपनसीवी (ओपन सोर्स कंप्यूटर विजन) एक ओपन सोर्स प्रोग्रामिंग लाइब्रेरी है जिसे मूल रूप से मशीन लर्निंग और कंप्यूटर विजन के लिए विकसित किया गया है। यह कंप्यूटर विजन अनुप्रयोगों पर काम करने के लिए सामान्य बुनियादी ढांचा प्रदान करता है और वाणिज्यिक उत्पादों

  1. पायथन में CX_Freeze का उपयोग पायथन में CX_Freeze का उपयोग

    कभी-कभी हम कुछ अलग बनाना चाहते हैं जो बहुत रोमांचक हो, और मानव स्वभाव के अनुसार, हम हमेशा इसे साझा करना पसंद करते हैं। पायथन भी उन इच्छाओं को पूरा करता है। पायथन का उपयोग करके, अगर हम अपने पायथन प्रोग्राम को अपने दोस्तों के साथ साझा करना चाहते हैं तो हम ऐसा कर सकते हैं, बस उनके मशीन पर वही पायथन सं