ম্যাটল্যাব (MATLAB) এ Basic Graphics এবং Image Handling খুবই সহজে এবং কার্যকরীভাবে করা যায়। ম্যাটল্যাব বিভিন্ন ধরনের ডেটা ভিজুয়ালাইজেশনের জন্য বিস্তৃত গ্রাফিক্স টুলস সরবরাহ করে। এছাড়া ইমেজ প্রসেসিংয়ের জন্যও এতে রয়েছে উন্নত ফাংশন এবং টুলবক্স। এখানে আমরা কিছু মৌলিক গ্রাফিক্স এবং ইমেজ প্রসেসিং কৌশল নিয়ে আলোচনা করবো।
Basic Graphics
ম্যাটল্যাবে গ্রাফিক্সের মাধ্যমে ডেটা ভিজুয়ালাইজেশন করা সহজ এবং এর মাধ্যমে ডেটার বিভিন্ন প্যাটার্ন ও ট্রেন্ড বুঝতে সুবিধা হয়।
১. লাইন প্লট (Line Plot)
লাইন প্লট সাধারণত দুটি ভেরিয়েবলের মধ্যে সম্পর্ক বোঝাতে ব্যবহৃত হয়। ম্যাটল্যাবে plot ফাংশন দিয়ে সহজেই লাইন প্লট তৈরি করা যায়।
x = 0:0.1:10;
y = sin(x);
plot(x, y, '-b', 'LineWidth', 1.5) % নীল লাইন এবং লাইন ওয়াইড ১.৫
title('Sine Wave')
xlabel('X-axis')
ylabel('Y-axis')
grid on২. বার চার্ট (Bar Chart)
বার চার্ট ব্যবহার করে ক্যাটাগরিকাল ডেটা প্রদর্শন করা যায়। ম্যাটল্যাবে bar ফাংশন ব্যবহার করে এটি তৈরি করা যায়।
data = [5, 10, 15, 20];
bar(data)
title('Bar Chart')
xlabel('Categories')
ylabel('Values')৩. স্ক্যাটার প্লট (Scatter Plot)
স্ক্যাটার প্লট পয়েন্টগুলোর মধ্যে সম্পর্ক প্রদর্শন করতে ব্যবহৃত হয়। scatter ফাংশন ব্যবহার করে এটি তৈরি করা যায়।
x = randn(1, 100);
y = randn(1, 100);
scatter(x, y, 'filled')
title('Scatter Plot')
xlabel('X-axis')
ylabel('Y-axis')৪. থ্রি-ডি সারফেস প্লট (3D Surface Plot)
ম্যাটল্যাবে surf ফাংশন ব্যবহার করে 3D সারফেস প্লট তৈরি করা যায়।
[X, Y] = meshgrid(-5:0.5:5, -5:0.5:5);
Z = sin(sqrt(X.^2 + Y.^2));
surf(X, Y, Z)
title('3D Surface Plot')
xlabel('X-axis')
ylabel('Y-axis')
zlabel('Z-axis')
colorbar % কালারবার যোগ করাImage Handling
ম্যাটল্যাবে ইমেজ প্রসেসিংয়ের জন্য কিছু গুরুত্বপূর্ণ ফাংশন রয়েছে। ইমেজ লোড, প্রদর্শন, এবং প্রক্রিয়াকরণের জন্য এগুলো ব্যবহার করা হয়।
১. ইমেজ লোড করা (Loading an Image)
ম্যাটল্যাবে imread ফাংশন ব্যবহার করে সহজেই ইমেজ লোড করা যায়।
img = imread('example.jpg');২. ইমেজ প্রদর্শন করা (Displaying an Image)
লোড করা ইমেজ imshow ফাংশন দিয়ে প্রদর্শন করা যায়।
imshow(img)
title('Original Image')৩. ইমেজ গ্রেস্কেলে কনভার্ট করা (Convert Image to Grayscale)
rgb2gray ফাংশন ব্যবহার করে রঙিন ইমেজকে গ্রেস্কেলে কনভার্ট করা যায়।
grayImg = rgb2gray(img);
imshow(grayImg)
title('Grayscale Image')৪. ইমেজ সাইজ পরিবর্তন করা (Resizing an Image)
imresize ফাংশন ব্যবহার করে ইমেজের সাইজ পরিবর্তন করা যায়।
resizedImg = imresize(img, 0.5); % ৫০% সাইজে কমানো
imshow(resizedImg)
title('Resized Image')৫. ইমেজ ঘোরানো (Rotating an Image)
imrotate ফাংশন ব্যবহার করে ইমেজকে নির্দিষ্ট ডিগ্রিতে ঘোরানো যায়।
rotatedImg = imrotate(img, 45); % ইমেজকে ৪৫ ডিগ্রিতে ঘোরানো
imshow(rotatedImg)
title('Rotated Image')৬. ইমেজ ফিল্টারিং (Filtering an Image)
ইমেজে বিভিন্ন ধরনের ফিল্টার প্রয়োগ করতে imfilter ফাংশন ব্যবহার করা যায়।
h = fspecial('gaussian', [5 5], 2); % Gaussian ফিল্টার তৈরি করা
filteredImg = imfilter(grayImg, h);
imshow(filteredImg)
title('Filtered Image')৭. ইমেজের ডেটা সংরক্ষণ করা (Saving an Image)
imwrite ফাংশন ব্যবহার করে প্রসেস করা ইমেজ সংরক্ষণ করা যায়।
imwrite(filteredImg, 'filtered_image.jpg');উদাহরণ: ইমেজ প্রসেসিং এর পুরো কোড
% Step 1: ইমেজ লোড করা
img = imread('example.jpg');
% Step 2: ইমেজ প্রদর্শন
subplot(2, 2, 1);
imshow(img);
title('Original Image');
% Step 3: গ্রেস্কেলে কনভার্ট করা
grayImg = rgb2gray(img);
subplot(2, 2, 2);
imshow(grayImg);
title('Grayscale Image');
% Step 4: ইমেজের সাইজ পরিবর্তন
resizedImg = imresize(grayImg, 0.5);
subplot(2, 2, 3);
imshow(resizedImg);
title('Resized Image');
% Step 5: ইমেজে Gaussian ফিল্টার প্রয়োগ
h = fspecial('gaussian', [5 5], 2);
filteredImg = imfilter(resizedImg, h);
subplot(2, 2, 4);
imshow(filteredImg);
title('Filtered Image');
% Step 6: ইমেজ সংরক্ষণ
imwrite(filteredImg, 'processed_image.jpg');সংক্ষেপে
- Basic Graphics: ম্যাটল্যাবের
plot,bar,scatter, এবংsurfফাংশন ব্যবহার করে বিভিন্ন ধরনের গ্রাফ তৈরি করা যায়। - Image Handling:
imread,imshow,rgb2gray,imresize,imrotate, এবংimfilterফাংশন ব্যবহার করে ইমেজ প্রসেসিং কাজ করা যায়। - ইমেজ প্রসেসিং এবং গ্রাফিক্সের মাধ্যমে ম্যাটল্যাবে ডেটা ভিজুয়ালাইজেশন এবং প্রক্রিয়াকরণ সহজ হয়।
Read more