চিত্রগুলি ম্যানিপুলেট করার জন্য পাইথের পরিবর্তে অজগর -৩ কী ব্যবহার করছে?
Pillow
পাইপিআই থেকে ইনস্টল করা উচিত যা ড্রপ-ইন প্রতিস্থাপন হওয়া উচিত PIL
; এটি পাইথন 2 এও পছন্দসই প্যাকেজ।
চিত্রগুলি ম্যানিপুলেট করার জন্য পাইথের পরিবর্তে অজগর -৩ কী ব্যবহার করছে?
Pillow
পাইপিআই থেকে ইনস্টল করা উচিত যা ড্রপ-ইন প্রতিস্থাপন হওয়া উচিত PIL
; এটি পাইথন 2 এও পছন্দসই প্যাকেজ।
উত্তর:
"বন্ধুত্বপূর্ণ পিআইএল কাঁটাচামচ" বালিশ পাইথন 2 এবং 3 এ কাজ করে । পরীক্ষা করে দেখুন গিটহাব প্রকল্প সমর্থন ম্যাট্রিক্স জন্য ইত্যাদি।
pip3 install Image
(আমি না জেনেই বালিশ ব্যবহার করছিলাম) এবং আপনিfrom PIL import Image
। এটি এখন সমস্ত বড় প্ল্যাটফর্ম সমর্থন করে । পাইথন 3 এর জন্য একটি পিআইএল সন্ধান করার সময় এটি অবশ্যই পছন্দ।
ক্রিস্টোফ গোহলক পাইথন সংস্করণগুলির জন্য পিআইএল (কেবল উইন্ডোজের জন্য) তৈরি করতে সক্ষম হয়েছিল 3.3 পর্যন্ত: http://www.lfd.uci.edu/~gohlke/pythonlibs/
আমি পাইথন ৩.২ এর সাথে তার পিআইএল সংস্করণটি চেষ্টা করেছি এবং চিত্রটি খোলা / তৈরি / পিক্সেল ম্যানিপুলেশন / সমস্ত কাজ সংরক্ষণ করে।
কিউটি গ্রাফিক্সের সাথে খুব ভাল কাজ করে। আমার মতে এটি পিআইএল-এর চেয়ে বহুমুখী।
গ্রাফিক্স ম্যানিপুলেশনের জন্য আপনি যে সমস্ত বৈশিষ্ট্য চান তা পেয়েছেন তবে ভেক্টর গ্রাফিক্স এবং এমনকি প্রকৃত মুদ্রকগুলির জন্য সমর্থন রয়েছে। এবং এটি সমস্ত এক ইউনিফর্ম এপিআই QPainter
,।
কিউটি ব্যবহার করতে আপনার এটির জন্য পাইথন বাইন্ডিং দরকার: পাইসাইট বা পাইকিউটি 4 ।
তারা উভয় পাইথন 3 সমর্থন করে।
এখানে একটি সাধারণ উদাহরণ যা একটি জেপিজি চিত্র লোড করে, স্থানাঙ্কগুলিতে (20, 20) 10 এর ব্যাসার্ধের একটি অ্যান্টিএলিয়েসড বৃত্ত আঁকেন যা এই স্থানাঙ্কগুলিতে ছিল এবং পরিবর্তিত চিত্রটিকে পিএনজি ফাইল হিসাবে সংরক্ষণ করে:
from PySide.QtCore import *
from PySide.QtGui import *
app = QCoreApplication([])
img = QImage('input.jpg')
g = QPainter(img)
g.setRenderHint(QPainter.Antialiasing)
g.setBrush(QColor(img.pixel(20, 20)))
g.drawEllipse(QPoint(20, 20), 10, 10)
g.end()
img.save('output.png')
তবে দয়া করে নোট করুন যে এই সমাধানটি বেশ 'হেভিওয়েট', কারণ কিউটি জিইউআই অ্যাপ্লিকেশনগুলি তৈরি করার জন্য একটি বৃহত কাঠামো।
৩০ শে মার্চ, ২০১২ অবধি, আমি চিত্রগুলি খোলার জন্য গিটহাবের স্লোনজ কাঁটাচামচটি পেতে ব্যর্থ হয়েছি। আমি এটি সংকলন করতে পেরেছি ঠিক আছে, কিন্তু এটি আসলে কাজ করে না। আমি গহলকের লাইব্রেরিটিও তৈরি করার চেষ্টা করেছি এবং এটি সংকলিত হলেও কোনও চিত্র খুলতে ব্যর্থ হয়েছে। কেউ উপরে পাইথনম্যাগিকের কথা উল্লেখ করেছেন তবে এটি কেবল উইন্ডোজেই সংকলন করে। ডাব্লু এক্স পাইথন উইকিতে পাইথনম্যাগিক দেখুন ।
পিআইএল সর্বশেষে ২০০৯ সালে আপডেট হয়েছিল এবং ওয়েবসাইটটি জানিয়েছে যে তারা পাইথন 3 বন্দরে কাজ করছে, এটি 3 বছর হয়েছে, এবং মেলিং তালিকাটি শীতল হয়ে গেছে।
আমার পাইথন 3 ইমেজ ম্যানিপুলেশন সমস্যা সমাধানের জন্য, আমি ব্যবহার করছি subprocess.call()
ইমেজম্যাগিক শেল কমান্ডগুলি কার্যকর করতে । এই পদ্ধতিটি কাজ করে।
দেখুন subprocess মডিউল ডকুমেন্টেশন ।
আপনি পাইথন 3 এ আমার প্যাকেজ মহোত্সগুলি ব্যবহার করতে পারেন এটি পিআইএল ভিত্তিক নয় বরং নমুনা ভিত্তিক।
আপনি বালিশ লাইব্রেরি চান , পাইথন 3 এ এটি ইনস্টল করবেন কীভাবে:
pip3 install Pillow
যদি এটি আপনার পক্ষে কাজ করে না (এটি হওয়া উচিত), সাধারণ চেষ্টা করুন pip
:
pip install Pillow
প্রয়োজনীয় কিসের উপর নির্ভর করে , পিআইএল এবং বালিশের বর্তমান সংস্করণ ছাড়িয়ে ম্যানিপুলেশনগুলি সহ সাইকিট-ইমেজ সেরা পছন্দ হতে পারে। খুব ভালভাবে রক্ষণাবেক্ষণ করা, কমপক্ষে বালিশের মতো। এছাড়াও, অন্তর্নিহিত ডেটা স্ট্রাকচারগুলি নম্পি এবং স্কিপি থেকে রয়েছে, যা এর কোডটিকে অবিশ্বাস্যভাবে আন্তঃক্রিয়াযুক্ত করে তোলে। বালিশগুলি পরিচালনা করতে পারে না এমন উদাহরণগুলি:
গ্যালারীটিতে আপনি এটির শক্তি দেখতে পারেন । এই কাগজ এটিতে দুর্দান্ত পরিচয় সরবরাহ করে। শুভকামনা!
আপনি যদি পাইথন 3 এ থাকেন তবে আপনি পাইথন 2 এবং 3 তে লাইব্রেরি পিলাসোপেনসিভি ব্যবহার করতে পারেন যা ফাংশন এপিআই কলগুলি পিআইএল বা বালিশের মতো হয় তবে অভ্যন্তরীণভাবে এটি চিত্রগুলি লোড, সেভ এবং ম্যানিপুলেট করার জন্য ওপেনসিভি এবং নাম্পির সাথে কাজ করে। কটাক্ষপাত আছে https://github.com/bunkahle/PILasOPENCV বা PILasOPENCV ইনস্টল পিপ সঙ্গে এটি ইনস্টল করুন। সমস্ত পিআইএল ফাংশন সিমুলেটেড হয় নি তবে সর্বাধিক সাধারণ ফাংশন কাজ করে।