কম্পিউটার

পাইথনে স্কিট-লার্ন ব্যবহার করে একটি চিত্রের কনট্যুরগুলি কীভাবে খুঁজে পাবেন?


Scikit-learn, সাধারণত sklearn নামে পরিচিত পাইথনের একটি লাইব্রেরি যা মেশিন লার্নিং অ্যালগরিদম বাস্তবায়নের উদ্দেশ্যে ব্যবহৃত হয়। এটি একটি ওপেন সোর্স লাইব্রেরি তাই এটি বিনামূল্যে ব্যবহার করা যেতে পারে। এই লাইব্রেরিটি Numpy, SciPy এবং Matplotlib লাইব্রেরিতে নির্মিত।

'মার্চিং স্কোয়ার' পদ্ধতিটি একটি চিত্রের কনট্যুরগুলি খুঁজে পেতে ব্যবহৃত হয়। 'স্কিমেজ' লাইব্রেরির 'মেজার' ক্লাসে উপস্থিত 'ফাইন্ড_কনট্যুরস' ফাংশনটি ব্যবহার করা হয়। এতে, অ্যারেতে উপস্থিত মানগুলি একটি রৈখিক পদ্ধতিতে ইন্টারপোলেট করা হয়।

এইভাবে, আউটপুট চিত্রের কনট্যুরগুলির নির্ভুলতা আরও ভাল হবে। যদি ছবির কনট্যুরগুলিকে ছেদ করে, তবে কনট্যুরগুলি খোলা থাকে, অন্যথায় সেগুলি বন্ধ থাকে৷

আসুন আমরা বুঝতে পারি কিভাবে স্কিট-লার্ন লাইব্রেরি ব্যবহার করে একটি ছবিতে কনট্যুর খুঁজে পাওয়া যায় −

উদাহরণ

import numpy as np
import matplotlib.pyplot as plt
from skimage import measure
x, y = np.ogrid[-6.7:np.pi:215j, -1.2:np.pi:215j]
r = np.sin(np.exp((np.sin(x)**3 + np.cos(y)**2)))
contours = measure.find_contours(r, 0.8)
fig, ax = plt.subplots()
ax.imshow(r, cmap=plt.cm.gray)
for contour in contours:
ax.plot(contour[:, 1], contour[:, 0], linewidth=2)
ax.axis('Image')
ax.set_xticks([])
ax.set_yticks([])
plt.show()

আউটপুট

পাইথনে স্কিট-লার্ন ব্যবহার করে একটি চিত্রের কনট্যুরগুলি কীভাবে খুঁজে পাবেন?

ব্যাখ্যা

  • প্রয়োজনীয় প্যাকেজ পরিবেশে আমদানি করা হয়।

  • NumPy প্যাকেজের সাহায্যে ডেটা তৈরি করা হয়।

  • 'find_contours' ফাংশনটি ছবির কনট্যুর নির্ধারণ করতে ব্যবহৃত হয়।

  • 'সাবপ্লট' ফাংশনটি কনসোলে মূল ছবি এবং কনট্যুর সহ ছবি দেখানোর জন্য ব্যবহার করা হয়।


  1. পাইথনে স্কিট-লার্ন ব্যবহার করে একটি চিত্রের পিক্সেল মানগুলি কীভাবে দেখতে হয়?

  2. পাইথনে OpenCV ব্যবহার করে একটি ছবিতে চেনাশোনা খুঁজুন

  3. পাইথনে OpenCV ব্যবহার করে কনট্যুর খুঁজুন এবং আঁকুন

  4. Python ব্যবহার করে Convolutions?