ImageMagick के साथ रंगों को उल्टा करें


27

मैं ImageMagick convertटूल का उपयोग करके किसी छवि के रंगों को कैसे उलटा सकता हूं , ताकि काला सफेद हो जाए और सफेद काला हो जाए?

दूसरे शब्दों में, मैं इसे चालू करना चाहता हूं:

मूल

इस मामले में:

उल्टे

जवाबों:


45

-negateविकल्प का उपयोग करें :

convert input.png -channel RGB -negate output.png

-negateविकल्प उसके पूरक रंग के साथ प्रत्येक पिक्सेल बदल देता है। -channel RGBविकल्प (यदि है) नकार दिया जा रहा से अल्फ़ा चैनल को रोकने के लिए ImageMagick 7 के रूप में आवश्यक है। (इस अंतर्दृष्टि के लिए @ प्रियता को धन्यवाद!)

यह भी देखें प्रलेखन के लिए -negate।


5
इसने मेरे काले और सफेद रंग को पूरी तरह से पारदर्शी बना दिया ...
— theonlygusti

इसने मेरे लिए काम किया
— shadi

2
पारदर्शिता की समस्या है क्योंकि अल्फा चैनल भी उलटा है। -channel RGB -negateउस से बचने के लिए उपयोग करें ।
— गोटो-बस-स्टॉप

1
यह तो दिलचस्प है। मेरे सिस्टम पर ImageMagick (संस्करण 6.8.9) केवल RGB चैनलों को नकारती है, और डिफ़ॉल्ट रूप से अल्फा चैनल -channel RGBको नहीं , इसलिए यह आवश्यक नहीं है। यदि मैं पास होता हूं तो यह केवल अल्फा चैनल को निष्क्रिय करता है -channel RGBA -negate। मुझे यकीन नहीं है कि विभिन्न व्यवहार क्या बताते हैं।
— जो लिस

यह मेरे लिए, बिना नकार के काम करता है। हालांकि मैं इसके बारे में उत्सुक हूं: जबकि identifyइनपुट को "8-बिट sRGB" के रूप में देखता है, आउटपुट "8-बिट ग्रेस्केल ग्रे" है।
— user74094

3

ImageMagick 6.x केवल -negate विकल्प के साथ रंग की तीव्रता को उल्टा कर सकता है। रेफरी) https://www.imagemagick.org/script/command-line-options.php#negate

convert input.png -negate output.png

ImageMagick 7.x को -negate के साथ -channel विकल्प की आवश्यकता होती है। ref) https://imagemagick.org/script/porting.php#cli परिवर्तित विकल्प

convert input.png -channel RGB -negate output.png

ऐसा इसलिए है क्योंकि डिफ़ॉल्ट सक्रिय चैनलों में ImageMagick 7.x में पारदर्शिता (अपारदर्शी / अल्फ़ा) है

ImageMagick6: DefaultChannels = ((AllChannels | SyncChannels) &~ OpacityChannel)
ImageMagick7: DefaultChannels = AllChannels

अधिकांश एल्गोरिदम लाल, हरे, नीले, काले (CMYK के लिए) और अल्फा चैनल को अपडेट करते हैं। -ऑनगेट की प्रयोज्यता समग्र स्थिरता के लिए बलि दी जा रही है।

आपके लिए और विस्तार http://blog.awm.jp/2018/11/18/im7negate/


1
convert input.png -negate output.pngImageMagick 7.0.8 (ArchLinux) पर मेरे लिए ठीक काम करता है
— msrd0

पारदर्शिता के बिना RGB छवि पर कोई समस्या नहीं है। पारदर्शिता छवि के कारण RGBA समस्या, केवल ImageMagick7।
— योया

आप देख सकते हैं कि पीएनजी फ़ाइल में पारदर्शिता है या नहीं। identify -verbose input.png | grep Type यह सच है या सच्चा है।
— योया

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