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

OpenCV ব্যবহার করে একটি ছবিতে ইনভার্স বাইনারি থ্রেশহোল্ডিং করা


এই প্রোগ্রামে, আমরা OpenCV ব্যবহার করে একটি ছবিতে ইনভার্স বাইনারি থ্রেশহোল্ডিং করব। থ্রেশহোল্ডিং হলো একটি প্রক্রিয়া যেখানে প্রতিটি পিক্সেলের মান একটি থ্রেশহোল্ড ভ্যালুর সাথে সম্পর্কে পরিবর্তিত হয়।

পিক্সেলকে একটি নির্দিষ্ট মান দেওয়া হয় যদি তা থ্রেশহোল্ড থেকে কম হয় এবং অন্য একটি মান যদি তা থ্রেশহোল্ড থেকে বেশি হয়। ইনভার্স বাইনারি থ্রেশহোল্ডিং-এ, যদি পিক্সেলের মান থ্রেশহোল্ড থেকে কম হয়, তবে এটাকে Мак্সিমাম ভ্যালু দেওয়া হয় অর্থাৎ সাদা। যদি তা থ্রেশহোল্ড থেকে বেশি হয়, তবে এটাকে ০ অসাইন করা হয়, অর্থাৎ কালো।

মূল ছবি

OpenCV ব্যবহার করে একটি ছবিতে ইনভার্স বাইনারি থ্রেশহোল্ডিং করা

এলগরিদম

ধাপ ১: cv2 ইমপোর্ট করুন।
ধাপ ২: থ্রেশহোল্ড এবং max_val ডিফাইন করুন।
ধাপ ৩: এই প্যারামিটারগুলো cv2.threshold-এ পাস করুন এবং আপনি কোন ধরনের থ্রেশহোল্ডিং চান তা স্পেসিফাই করুন।
ধাপ ৪: আউটপুট দেখান।

উদাহরণ কোড

import cv2
image = cv2.imread('testimage.jpg')
threshold_value = 120
max_val = 255
ret, image = cv2.threshold(image, threshold_value, max_val, cv2.THRESH_BINARY_INV)
cv2.imshow('InverseBinaryThresholding', image)

আউটপুট

OpenCV ব্যবহার করে একটি ছবিতে ইনভার্স বাইনারি থ্রেশহোল্ডিং করা

ব্যাখ্যা

প্রোগ্রামের ret ভেরিয়েবলটি শুধু থ্রেশহোল্ড ভ্যালু রিটার্ন করে। থ্রেশহোল্ড ভ্যালু থেকে ছোট মান 가진 যেকোনো পিক্সেলের জন্য, সেগুলো max_val দ্বারা প্রতিস্থাপিত হয়, অর্থাৎ ২৫৫।


  1. OpenCV-এর circle() ফাংশন ব্যবহার করে সার্কেল আঁকা

  2. OpenCV ব্যবহার করে একটি ছবিতে রেক্ট্যাঙ্গেল আঁকা

  3. OpenCV ব্যবহার করে একটি ছবিতে এলিপস আঁকা

  4. OpenCV ব্যবহার করে একটি ছবিতে লাইন আঁকা