চিত্রগুলিতে, বৈশিষ্ট্য নিষ্কাশনের জন্য প্রায়শই ব্যবহৃত কিছু কৌশল বাইনারিাইজিং এবং অস্পষ্ট
বিনারিজিং: চিত্রের অ্যারেটিকে 1 ও 0 এর মধ্যে রূপান্তর করে। চিত্রটি 2D চিত্রে রূপান্তর করার সময় এটি করা হয়। এমনকি ধূসর-স্কেলিংও ব্যবহার করা যেতে পারে। এটি আপনাকে চিত্রটির একটি সংখ্যাসূচক ম্যাট্রিক্স দেয়। গ্রেডস্কেল ডিস্কে সঞ্চিত থাকাকালীন অনেক কম স্থান নেয়।
পাইথনে এটি আপনি এভাবেই করেন:
from PIL import Image
%matplotlib inline
#Import an image
image = Image.open("xyz.jpg")
image
উদাহরণ চিত্র:
এখন, ধূসর আকারে রূপান্তর করুন:
im = image.convert('L')
im
আপনাকে এই চিত্রটি ফিরিয়ে দেবে:
এবং ম্যাট্রিক্স এটি চালিয়ে দেখা যায়:
array(im)
অ্যারে দেখতে এমন কিছু লাগবে:
array([[213, 213, 213, ..., 176, 176, 176],
[213, 213, 213, ..., 176, 176, 176],
[213, 213, 213, ..., 175, 175, 175],
...,
[173, 173, 173, ..., 204, 204, 204],
[173, 173, 173, ..., 205, 205, 204],
[173, 173, 173, ..., 205, 205, 205]], dtype=uint8)
এখন, চিত্রের বৈশিষ্ট্যগুলি দেখার জন্য একটি হিস্টোগ্রাম প্লট এবং / অথবা একটি কনট্যুর প্লট ব্যবহার করুন:
from pylab import *
# create a new figure
figure()
gray()
# show contours with origin upper left corner
contour(im, origin='image')
axis('equal')
axis('off')
figure()
hist(im_array.flatten(), 128)
show()
এটি আপনাকে এমন একটি প্লট ফিরিয়ে দেবে, যা দেখতে এরকম কিছু দেখাচ্ছে:
অস্পষ্টতা: অস্পষ্ট অ্যালগরিদম প্রতি পিক্সেলের আশেপাশের রঙগুলিকে সংযুক্ত করতে প্রতিবেশী পিক্সেলের ওয়েট গড় গ্রহণ করে। এটি কনট্যুরগুলি আরও উন্নত করে এবং বৈশিষ্ট্যগুলি এবং তাদের গুরুত্ব আরও ভালভাবে বুঝতে সহায়তা করে।
এবং আপনি পাইথনে এটিই করেন:
from PIL import *
figure()
p = image.convert("L").filter(ImageFilter.GaussianBlur(radius = 2))
p.show()
অস্পষ্ট চিত্রটি হ'ল:
সুতরাং, এই কয়েকটি উপায় যা আপনি বৈশিষ্ট্য ইঞ্জিনিয়ারিং করতে পারেন। এবং উন্নত পদ্ধতির জন্য আপনাকে কম্পিউটার ভিশন এবং নিউরাল নেটওয়ার্কগুলির বেসিকগুলি এবং বিভিন্ন ধরণের ফিল্টার এবং তাদের তাত্পর্য এবং তাদের পিছনে গণিতটি বুঝতে হবে।