में matplotlib प्लॉट सहेजें मेरे पास कुछ रंगीन प्लॉट हैं जिन्हें मुझे ग्रेस्केल में सहेजने की आवश्यकता है। साजिश प्रारूपों को बदलने के बिना ऐसा करने का कोई आसान तरीका है?ग्रेस्केल
उत्तर
दरअसल, इससे पहले पूछा गया था। यहाँ एक बहुत अच्छी जवाब है, जो गूगल पर 2 आता है (आज तक) है:
Display image as grayscale using matplotlib
और समाधान बहुत Suki के लिए इसी तरह की है ...
ओह, ठीक है, मैं बोर हो रहा हूँ, इसलिए मैं यहाँ भी पोस्ट एक पूर्ण विकसित कोड:
import numpy as np
import pylab as p
xv=np.ones(4)*.5
yv=np.arange(0,4,1)
xv1=np.ones(4)*-.5
yv1=np.arange(0,4,1)
#red vertical line on the right
yv2=np.arange(0,1.5,0.1)
xv2=np.ones_like(yv2)*.7
#red vertical line on the left
yv3=np.arange(0,2,0.01)
xv3=np.ones_like(yv3)*-0.7
###
xc=np.arange(-1.4,2,0.05)
yc=np.ones_like(xc)*1
fig = p.figure()
ax1 = fig.add_subplot(111)
#adjustprops = dict(left=0.12, bottom=0.2, right=0.965, top=0.96, wspace=0.13, hspace=0.37)
#fig.subplots_adjust(**adjustprops)
ax1.plot(xv,yv, color='blue', lw=1, linestyle='dashed')
ax1.plot(xv1,yv1, 'green', linestyle='dashed')
ax1.plot(np.r_[-1:1:0.2],np.r_[-1:1:0.2],'red')
ax1.plot(xc,yc, 'k.', markersize=3)
p.savefig('colored_image.png')
import matplotlib.image as mpimg
import matplotlib.cm as cm
import Image
figprops = dict(figsize=(10,10), dpi=100)
fig1 = p.figure(**figprops)
#fig1 = p.figure()
#ax1 = fig.add_subplot(111)
adjustprops = dict()
image=Image.open('colored_image.png').convert("L")
arr=np.asarray(image)
p.figimage(arr,cmap=cm.Greys_r)
p.savefig('grayed.png')
p.savefig('grayed.pdf',papertype='a4',orientation='portrait')
इस रंग में एक ग्राफ का उत्पादन करेगा, की तुलना में यह पढ़ा है, यह पैमाने ग्रे कनवर्ट करते हैं, और एक png और पीडीएफ बचत होगी।
यह उत्तर बहुत अच्छा नहीं है क्योंकि इसमें साजिश और किसी भी फ़ॉन्ट को रास्टराइज करने की आवश्यकता है। जब आप .png में कनवर्ट करते हैं तो रास्टरराइजेशन होता है। फाइल सिस्टम में पीडीएफ लिखना बेहतर होगा और उसके बाद ग्रेस्केल में कनवर्ट करना होगा, शायद भूत-स्क्रिप्ट का उपयोग करना। –
"आयात छवि" अब काम नहीं करता है। इसके बजाय "पीआईएल आयात छवि से" – warunapww
यह वर्तमान में matplotlib से सीधे करने के लिए अजीब है, लेकिन "भविष्य में" वे set_gray(True)
का समर्थन करने की योजना बनाते हैं (मेलिंग सूची थ्रेड here देखें)।
आपका सबसे अच्छा विकल्प रंग में उसे सहेज कनवर्ट करते हैं, या तो जनहित याचिका के साथ अजगर में करने के लिए किया जाएगा:
import Image
Image.open('color.png').convert('L').save('bw.png')
या ImageMagick के साथ कमांड लाइन से:
convert -type Grayscale color.png bw.png
अन्य उत्तरों की तरह, यह उत्तर बहुत संतोषजनक नहीं है क्योंकि यह साजिश को रास्टराइज करता है। –
और में जोड़ने के लिए म्यू माइंड का समाधान
यदि किसी भी कारण से आप इसे फ़ाइल में लिखने से बचना चाहते हैं तो आप एक फ़ाइल की तरह स्ट्रिंगियो का उपयोग कर सकते हैं:
import Image
import pylab
from StringIO import StringIO
pylab.plot(range(10),[x**2 for x in range(10)])
IO = StringIO()
pylab.savefig(IO,format='png')
IO.seek(0)
#this, I stole from Mu Mind solution
Image.open(IO).convert('L').show()
अन्य उत्तरों की तरह, यह उत्तर बहुत संतोषजनक नहीं है क्योंकि यह साजिश को रास्टराइज करता है। –
मैं भी इस मुद्दे से जूझ रहा हूं। जहाँ तक मेरा बता सकते हैं, matplotlib स्केल के लिए प्रत्यक्ष रूपांतरण का समर्थन नहीं करता, लेकिन आप एक रंग पीडीएफ सहेजें और फिर उसे परिवर्तित कर सकते हैं Ghostscript साथ स्केल:
gs -sOutputFile = gray.pdf -sDEVICE = pdfwrite -sColorConversionStrategy = ग्रे-dProcessColorModel =/DeviceGray -DNOPAUSE -DBATCH -dAutoRotatePages =/कोई भी रंग.pdf
का उपयोग क्यों करें ग्रेस्केल स्टाइल शीट का उपयोग न करें? http://matplotlib.org/examples/style_sheets/plot_grayscale.html –
यह वास्तव में रंगीन साजिश को ग्रेस्केल में परिवर्तित नहीं करता है। यह डिफ़ॉल्ट रूप से कुछ तत्व ग्रे बनाता है। मेरे पास प्लॉट हैं जो मैं एक वेब पेज के लिए दोनों रंगों के रूप में निर्यात करना चाहता हूं और प्रिंटिंग के लिए ग्रे में परिवर्तित करना चाहता हूं। –
आप एक संदर्भ प्रबंधक के भीतर स्टाइल शीट का उपयोग कर सकते हैं। उन लोगों के साथ गैर-डेटा प्रोसेसिंग प्लॉटिंग फ़ंक्शन पर अपनी कॉल लपेटें। –
- 1. ग्रेस्केल
- 2. ग्रेस्केल छवि
- 3. ग्रेस्केल छवि
- 4. एक छवि को ग्रेस्केल
- 5. 16 बिट ग्रेस्केल पीएनजी
- 6. Drawable => ग्रेस्केल
- 7. कच्चे ग्रेस्केल बाइनरी को जेपीईजी
- 8. ओपनसीवी - 16 बिट ग्रेस्केल छवि
- 9. संक्षिप्त [] को एक ग्रेस्केल छवि में बदलें
- 10. jQuery छवि को ग्रेस्केल में कनवर्ट करें?
- 11. ओपनजीएल में ग्रेस्केल प्रतिपादन को कैसे कार्यान्वित करें?
- 12. ओपनसीवी में 16 बिट ग्रेस्केल के साथ कैसे काम करें?
- 13. रूबी रेगेक्स ग्रेस्केल रंग मिलान करने के लिए
- 14. बिटमैप छवि को ग्रेस्केल में कनवर्ट करें, और अल्फा चैनल
- 15. ग्रेस्केल मान को आरजीबी प्रतिनिधित्व में कनवर्ट करें?
- 16. इंटरनेट एक्सप्लोरर 10 - ग्रेस्केल फ़िल्टर कैसे लागू करें?
- 17. एंड्रॉइड-ओपनसीवी कनवर्टिंग मैट को ग्रेस्केल में matToBitmap/bitmapToMat
- 18. ग्रेस्केल/अल्फा रंग प्रकार के लिए पीएनजी कैसे जांचें?
- 19. मैं एक छवि को कमांड लाइन के माध्यम से ग्रेस्केल में कैसे परिवर्तित कर सकता हूं?
- 20. डी 3: 2 डी सर डेटा द्वारा संचालित ग्रेस्केल छवि प्रदर्शन
- 21. ग्रेस्केल को काले और सफेद में परिवर्तित करने के लिए सर्वश्रेष्ठ दहलीज
- 22. जावा में पारदर्शिता के साथ ग्रेस्केल छवि को रंगीन करने का उचित तरीका क्या है?
- 23. जीडीआई का उपयोग कर पिक्सेल तीव्रता द्वारा बिटमैप को ग्रेस्केल में कैसे परिवर्तित करें?
- 24. ग्रेस्केल छवि में पिक्सल की औसत "दिशा" को कुशलतापूर्वक गणना कैसे करें?
- 25. 0-256 से लेकर ग्रेस्केल पीएनजी में int की 2 डी सरणी कनवर्ट करें?
- 26. मोनो टच कलर यूआईएममेज को अल्फा के साथ ग्रेस्केल और ब्लर में कनवर्ट करें?
- 27. आरजीबी से ग्रेस्केल से ओपनसीवी छवि रूपांतरण खराब परिणाम देकर इमेड का उपयोग करते हुए
- 28. मैं एक आरजीबी छवि को ग्रेस्केल में कैसे परिवर्तित कर सकता हूं लेकिन एक रंग रख सकता हूं?
- 29. मैं libtiff में आसानी से एक ग्रेस्केल टिफ कैसे लोड कर सकता हूं और पिक्सेल तीव्रता की एक सरणी प्राप्त कर सकता हूं?
- 30. यूआईएममेज
इसके आसपास कुछ चर्चा हुई, देखें [रंग से बीडब्ल्यू/ग्रेस्केल में चित्र बदलें] (http://old.nabble.com /convert-figure-from-color-to-BW-grayscale-td29756144.html)। पता नहीं है कि 'set_gray' विशेषता matplotlib की नवीनतम रिलीज में उपलब्ध है या नहीं। – chl
आप बाद में छवि मैगिक का उपयोग कर सकते हैं: 'कन्वर्ट-टाइप ग्रेस्केल old.png new.png' मुझे लगता है कि एसओ सीएफ [लिंक] पर कुछ पहले से ही कुछ है (http://stackoverflow.com/questions/3823752/display-image-as- ग्रेस्केल-उपयोग-matplotlib) –