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.