Image Manipulation Techniques (ইমেজ ম্যানিপুলেশন টেকনিকস) in MATLAB: Resize, Crop, Rotate
MATLAB-এ ইমেজ ম্যানিপুলেশন একটি গুরুত্বপূর্ণ কাজ, যেখানে বিভিন্ন ধরনের ইমেজ প্রসেসিং টেকনিক ব্যবহার করা হয় যেমন Resize, Crop, এবং Rotate। এই প্রযুক্তিগুলি বিভিন্নভাবে ইমেজের আকার, গঠন এবং দৃষ্টিভঙ্গি পরিবর্তন করতে সহায়ক।
1. Resize an Image (ইমেজ রিসাইজ করা)
ইমেজ রিসাইজিং মানে হল ইমেজের আকার (width এবং height) পরিবর্তন করা। এটি প্রায়ই ব্যবহার করা হয় যখন ইমেজকে একটি নির্দিষ্ট সাইজ বা রেজুলেশন অনুযায়ী ফিট করতে হয়।
imresize ফাংশন ব্যবহার করে ইমেজ রিসাইজ করা
imresize ফাংশন ব্যবহার করে সহজে ইমেজের সাইজ পরিবর্তন করা যায়। এখানে আপনি স্কেলিং ফ্যাক্টর বা নতুন সাইজ দিতে পারেন।
উদাহরণ: ইমেজ রিসাইজ করা
% মূল ইমেজ পড়ুন
img = imread('example.jpg');
% ইমেজকে ৫০% রিসাইজ করা
img_resized = imresize(img, 0.5); % স্কেল ফ্যাক্টর দিয়ে
% অথবা আপনি নতুন ডাইমেনশনও দিতে পারেন (যেমন, [300, 400])
new_size = [300, 400]; % নতুন সাইজ
img_resized2 = imresize(img, new_size);
% মূল এবং রিসাইজড ইমেজ প্রদর্শন
subplot(1, 2, 1);
imshow(img);
title('মূল ইমেজ');
subplot(1, 2, 2);
imshow(img_resized);
title('রিসাইজড ইমেজ');এখানে, imresize ফাংশনটি ৫০% স্কেল ফ্যাক্টর দিয়ে ইমেজের সাইজ পরিবর্তন করেছে।
2. Crop an Image (ইমেজ ক্রপ করা)
ইমেজ ক্রপিং মানে হল ইমেজের একটি নির্দিষ্ট অংশকে নির্বাচন করা এবং বাকি অংশ বাদ দেওয়া।
ইমেজ ক্রপ করার জন্য ইনডেক্সিং ব্যবহার করা
আপনি MATLAB-এ সরাসরি ইনডেক্সিং ব্যবহার করে ইমেজ ক্রপ করতে পারেন।
উদাহরণ: ইমেজ ক্রপ করা
% মূল ইমেজ পড়ুন
img = imread('example.jpg');
% ক্রপ করার জন্য রিজিওন নির্ধারণ করুন [শুরু_রো, শেষ_রো, শুরু_কলাম, শেষ_কলাম]
cropped_img = img(50:200, 100:300, :); % ইমেজের একটি নির্দিষ্ট অংশ ক্রপ করা
% মূল এবং ক্রপ করা ইমেজ প্রদর্শন
subplot(1, 2, 1);
imshow(img);
title('মূল ইমেজ');
subplot(1, 2, 2);
imshow(cropped_img);
title('ক্রপ করা ইমেজ');এখানে img(50:200, 100:300, :) দিয়ে ইমেজের ৫০ থেকে ২০০ রো এবং ১০০ থেকে ৩০০ কলাম পর্যন্ত অংশটি ক্রপ করা হয়েছে।
3. Rotate an Image (ইমেজ রোটেট করা)
ইমেজ রোটেটিং মানে হল ইমেজটিকে একটি নির্দিষ্ট কোণ দিয়ে ঘুরানো। MATLAB-এ imrotate ফাংশন ব্যবহার করে আপনি সহজেই ইমেজ রোটেট করতে পারেন।
imrotate ফাংশন ব্যবহার করে ইমেজ রোটেট করা
উদাহরণ: ইমেজ রোটেট করা
% মূল ইমেজ পড়ুন
img = imread('example.jpg');
% ৪৫ ডিগ্রি কোণ দিয়ে ইমেজ রোটেট করা
img_rotated = imrotate(img, 45); % ৪৫ ডিগ্রি কোণে রোটেট
% মূল এবং রোটেটেড ইমেজ প্রদর্শন
subplot(1, 2, 1);
imshow(img);
title('মূল ইমেজ');
subplot(1, 2, 2);
imshow(img_rotated);
title('রোটেটেড ইমেজ');এখানে imrotate(img, 45) ফাংশনটি ইমেজটিকে ৪৫ ডিগ্রি কোণে ঘুরিয়েছে।
4. Additional Customization and Manipulation (অতিরিক্ত কাস্টমাইজেশন এবং ম্যানিপুলেশন)
MATLAB আরও কিছু ফাংশন প্রদান করে যা ইমেজের গুণমান উন্নত করতে বা অন্যান্য পরিবর্তন করতে সহায়ক, যেমন flip (ইমেজ ফ্লিপ করা), brightness/contrast adjustment (ব্রাইটনেস এবং কনট্রাস্ট পরিবর্তন)।
Flipping an Image (ইমেজ ফ্লিপ করা)
আপনি ইমেজটিকে উল্টো করে দেখাতে flip ফাংশন ব্যবহার করতে পারেন।
% ইমেজ ফ্লিপ করা
img_flipped_h = flip(img, 2); % Horizontal flip (কলাম বরাবর)
img_flipped_v = flip(img, 1); % Vertical flip (রো বরাবর)Adjusting Brightness and Contrast (ব্রাইটনেস এবং কনট্রাস্ট পরিবর্তন)
imadjust ফাংশন ব্যবহার করে আপনি ইমেজের কনট্রাস্ট বা ব্রাইটনেস পরিবর্তন করতে পারেন।
% কনট্রাস্ট পরিবর্তন
img_adjusted = imadjust(img);
% মূল এবং কনট্রাস্ট পরিবর্তিত ইমেজ প্রদর্শন
subplot(1, 2, 1);
imshow(img);
title('মূল ইমেজ');
subplot(1, 2, 2);
imshow(img_adjusted);
title('কনট্রাস্ট পরিবর্তিত ইমেজ');Summary (সারসংক্ষেপ)
| অপারেশন | ফাংশন | বর্ণনা |
|---|---|---|
| Resize | imresize | ইমেজের আকার পরিবর্তন (স্কেল ফ্যাক্টর বা নির্দিষ্ট সাইজ অনুযায়ী)। |
| Crop | ইনডেক্সিং (img(row, col)) | ইমেজের একটি নির্দিষ্ট অংশ নির্বাচন এবং বাদ দেয়া। |
| Rotate | imrotate | ইমেজকে একটি নির্দিষ্ট কোণ দিয়ে ঘুরানো। |
| Flip | flip | ইমেজকে উল্টোভাবে (হরিজন্টালি বা ভারটিকালি) প্রদর্শন করা। |
| Adjust Brightness/Contrast | imadjust | ইমেজের কনট্রাস্ট বা ব্রাইটনেস পরিবর্তন করা। |
MATLAB-এ এই ইমেজ ম্যানিপুলেশন টেকনিকগুলো ইমেজ প্রসেসিং এবং বিশ্লেষণে অত্যন্ত গুরুত্বপূর্ণ, এবং এগুলোর মাধ্যমে আপনি সহজেই আপনার ইমেজের আকার, গঠন, এবং দৃষ্টিভঙ্গি পরিবর্তন করতে পারবেন।
Read more