मैं कमांडलाइन पर छवियों में अदृश्य वॉटरमार्क कैसे जोड़ सकता हूं?


12

इसी तरह के सवाल यहाँ लेकिन टेक्स -document के लिए। Imagemagick यहाँ वॉटरमार्किंग के तरीके दिखाता है लेकिन यह संभव नहीं है कि यह कैसे संभव हो। मैं वर्तमान में सिर्फ फोटो में कुछ कार्यात्मक तत्वों को हटाता हूं ताकि छवि को विकृत किए बिना, निकालने में बहुत मुश्किल हो। क्या छवियों के लिए अदृश्य वॉटरमार्क जोड़ने के लिए कुछ कमांडलाइन उपकरण है, कुछ माइक्रोस्कोप से जांचना पसंद करते हैं लेकिन फिर भी पढ़ने योग्य है? मेरे पास छवियों का एक विशाल पेड़ है (बहुत अलग किस्म का तो वॉटरमार्क को env आदि को अपनाना चाहिए) - हर फोटो पर तेजी से अदृश्य रूप से वॉटरमार्क जोड़ने के लिए कुछ कमांडलाइन टूल?


2
मुझे लगता है कि वॉटरमार्किंग के उद्देश्य से आपकी अदृश्यता आवश्यकता है। यदि वॉटरमार्क एक सामान्य दर्शक के लिए अदृश्य है, तो संभवतः इसे छवि पर JPEG रूपांतरणों के एक जोड़े को करके हटाया जा सकता है, क्योंकि डिज़ाइन द्वारा JPEG विवरणों को सुचारू कर देता है जो लोग याद नहीं करेंगे।
काइल जोन्स

@KyleJones: प्रारूप के रूप में जेपीईजी की आवश्यकता किसे है? Imagemagick में केवल उदाहरण हैं, मेरा लक्ष्य चित्रों में वॉटरमार्क को थोड़ा सा छिपाने के लिए टेक्स में डॉट को बदलना पसंद है।

2
मेरा कहना है कि जेपीईजी रूपांतरण या कोई अन्य हानिपूर्ण छवि संपीड़न एल्गोरिदम इस तरह के वॉटरमार्क को हटाने में सक्षम होगा, न कि यह कि छवि को जेपीईजी के रूप में शुरू करना होगा।
काइल जोन्स

यह टिप्पणी कि इसका कोई उद्देश्य गलत नहीं है और गलत है। ज़रूर, "अदृश्य वॉटरमार्क" एक ऑक्सीमोरोन है, लेकिन यह "स्टेग्नोग्राफ़िक संदेश" के लिए एक उपयोगी शॉर्टहैंड है - जो लगभग हमेशा "स्टेनोग्राफिक" (यानी, शाब्दिक, आशुलिपि) में स्वतः पूर्ण हो जाएगा। यहाँ उपयोग के मामलों पर एक बैकग्राउंडर है: lia.deis.unibo.it/Courses/RetiDiCalcolatori/Progetti98/Fortini/... : और एक उदाहरण दिया गया howtoforge.com/tutorial/...
माइकल

जवाबों:


9

मेरा मानना ​​है कि आप जो खोज रहे हैं वह स्टेग्नोग्राफ़ी है , अन्यथा निर्दोष दिखने वाली सामग्री में संदेश छिपाने का एक तरीका है।

वहाँ लिनक्स पर इस बात के लिए वहाँ बाहर उपकरणों का खजाना होने लगते हैं नहीं है, लेकिन outguess 1 और Steghide 2 आप क्या चाहते हैं करना होगा। ओपनस्टेगो एक और एक (कमांड-लाइन इंटरफ़ेस के साथ) है।

उदाहरण के साथ outguess, मैंने आपके प्रश्न के पाठ को कॉपी / पेस्ट किया Q.txt:

$ ../src/outguess/outguess -k 'Unix&Linux' -d Q.txt Tux.jpg Tux_steg.jpg
Reading Tux.jpg....
JPEG compression quality set to 75
Extracting usable bits:   10126 bits
Correctable message size: 5008 bits, 49.46%
Encoded 'Q.txt': 4592 bits, 574 bytes
Finding best embedding...
    0:  2274(49.2%)[49.5%], bias  2008(0.88), saved:     2, total: 22.46%
    3:  2269(49.1%)[49.4%], bias  2007(0.88), saved:     3, total: 22.41%
   13:  2268(49.0%)[49.4%], bias  1977(0.87), saved:     3, total: 22.40%
   62:  2237(48.4%)[48.7%], bias  1992(0.89), saved:     7, total: 22.09%
   78:  2216(47.9%)[48.3%], bias  1964(0.89), saved:    10, total: 21.88%
78, 4180: Embedding data: 4592 in 10126
Bits embedded: 4624, changed: 2216(47.9%)[48.3%], bias: 1964, tot: 10119, skip: 5495
Foiling statistics: corrections: 1437, failed: 746, offset: 198.494881 +- 300.529142
Total bits changed: 4180 (change 2216 + bias 1964)
Storing bitmap into data...
Writing Tux_steg.jpg....
$ ../src/outguess/outguess -k 'Unix&Linux' -r Tux_steg.jpg out.txt
Reading Tux_steg.jpg....
Extracting usable bits:   10126 bits
Steg retrieve: seed: 78, len: 574
$ diff out.txt Q.txt 
$ echo $?
0

स्रोत छवि ( Tux.svg से ):

सादा JPG, वॉटरमार्क नहीं

अपने प्रश्न को उसके अंदर छिपाए रखें:

छिपी जानकारी के साथ फ़ाइल

यदि आप निकट से देखते हैं, तो चित्र अलग-अलग हैं, लेकिन यह बहुत अधिक है जैसे कि दूसरा एक उच्च JPEG संपीड़न स्तर के साथ उत्पन्न हुआ था। तथ्य यह है कि आपके प्रश्न का पूरा पाठ (और पासवर्ड संरक्षित) में मिश्रित है, नेत्रहीन बिल्कुल भी ध्यान देने योग्य नहीं है।
छिपे हुए संदेश जितना छोटा होगा, चित्र उतना ही कम अलग होंगे। (मैं "कॉपीराइट यू 2012" एम्बेडेड के साथ मूल और एक फ़ाइल के बीच नेत्रहीन अंतर नहीं कर सकता।)

1 पुराना है, लेकिन ठीक बनाता है।
2 एक आधुनिक सी ++ कंपाइलर के साथ नहीं बनता है, कुछ स्रोत फिक्सअप आवश्यक हैं।


OpenStego में CLI होता है, मैंने आपका उत्तर संपादित किया और उससे जुड़ा।
प्रातः

0

छवि में एक बहुत स्थिर वॉटरमार्क एम्बेड करने का एक तरीका होना चाहिए, DigiMark करता है जैसे कि फ़ोटोशॉप फ़िल्टर में - तो क्यों एक कमांड लाइन उपकरण के रूप में अच्छी तरह से करने में सक्षम नहीं होना चाहिए?

यह कोई समाधान नहीं है, लेकिन एक विचार है कि यह कैसे काम कर सकता है ... यदि आप रिक्त सफेद छवि पर एक अदृश्य वॉटरमार्क बनाते हैं और परिणामस्वरूप कोड को किसी अन्य छवि में मिलाते हैं, तो वॉटरमार्क-रीडर परिणामी छवि से वॉरमार्क को निकालने में सक्षम है फिर से - तब भी जब संशोधित / फसली या मुद्रित और फिर से फोटो खिंचवाने।

तो वास्तव में दिए गए वॉटरमार्क ग्रेडिएंट कोड को जोड़ने वाला बैच समस्या नहीं होगा - बल्कि वॉटरमार्क निकालने के लिए एक उचित हस्ताक्षर एल्गोरिथ्म और सॉटरवेयर ढूंढना होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.