কম্পিউটার টিউটোরিয়াল

পাইথনে scikit-learn ব্যবহার করে ইমেজের কন্টুর (contours) কীভাবে বের করবেন?


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

ইমেজে কন্টুর বের করার জন্য marching squares মেথড ব্যবহার করা হয়। skimage লাইব্রেরির measure ক্লাসের find_contours ফাংশন ব্যবহার করা হয়। এতে অ্যারেতে থাকা মানগুলো লিনিয়ারলি ইন্টারপোলেট করা হয়। এর ফলে আউটপুট ইমেজের কন্টুরের প্রিসিশন অনেক ভালো হয়। যদি ইমেজে কন্টুরগুলো ইন্টারসেক্ট করে, তবে কন্টুরগুলো ওপেন থাকে, অন্যথায় ক্লোজড থাকে।

scikit-learn লাইব্রেরি ব্যবহার করে ইমেজের কন্টুর বের করার উদাহরণ নিচে দেওয়া হলো:

উদাহরণ

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()

আউটপুট

পাইথনে scikit-learn ব্যবহার করে ইমেজের কন্টুর (contours) কীভাবে বের করবেন?

ব্যাখ্যা

  • প্রয়োজনীয় প্যাকেজগুলো এনভায়রনমেন্টে ইম্পোর্ট করা হয়েছে।

  • NumPy প্যাকেজের সাহায্যে ডেটা জেনারেট করা হয়েছে।

  • find_contours ফাংশন ব্যবহার করে ইমেজের কন্টুর নির্ধারণ করা হয়েছে।

  • subplot ফাংশন ব্যবহার করে মূল ইমেজ ও কন্টুরযুক্ত ইমেজ কনসোলে দেখানো হয়েছে।

  1. পাইথনে scikit-learn ব্যবহার করে ইমেজের পিক্সেল মান কীভাবে দেখবেন?

  2. OpenCV ব্যবহার করে ইমেজে সার্কেল খুঁজে বের করা

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

  4. পাইথনে কনভোলিউশন (Convolutions) ব্যবহার