تبدیل تصویر grayscale به negative با متلب
در مباحث پردازش تصویر و کار با تصاویر در متلب تمرینهای زیادی مطرح میشود که یکی از این تمرینها تبدیل عکس grayscale به negative (تصویر نگاتیو) در متلب است.
تبدیل تصویر grayscale به negative با متلب
تصویر نگاتیو چیست؟
یک توضیح خلاصه و کوتاه برای عکسهای نگاتیو وجود دارد. تصاویر نگاتیو تصاویری هستند که در واقع کد رنگی پیکسل آنها Invert شده است. مثلا در تصاویر grayscale که دامنهی رنگی هر پیکسل بین 0 تا 255 است، اگر پیکسلی مقدار 50 شود و قصد تبدیل آن پیکسل به مقدار نگاتیو کنیم.
باید از فرمول زیر این کار را انجام دهیم:
255- 50 = negative value
نکته: یک نمونه از تصاویر نگاتیو فیلمهای نگاتیو قدیمی است.
تصویر grayscale یا خاکستری چیست؟!
تصاویر خاکستری یا grayscale تصاویری هستند که طول دامنهی رنگی آنها بین عدد 0 تا 255 است. در این طیف رنگی مقدار 0 یعنی سیاه مطلق و مقدار 1 یعنی سفید مطلق. میانهی این دو مقدار را اصطلاحا به آنها graylevel یا سطوح خاکستری میگوییم.
عنوان تمرین
تبدیل عکس به negative با متلب
نمونه:
حل تمرین:
% Powered By CamelCase.ir clc; close all; clear all; img1 = imread('img.png'); img2 = img1; for i = 1 : 500 for j = 1 : 500 img2(i,j) = 255 - img1(i, j); end end figure, imshow(img1); figure, imshow(img2); % Powered By CamelCase.ir
توضیح:
- ابتدا تصویر اصلی خوانده میشود. ( نام تصویر img.png است که در کنار فایل برنامه که با پسوند .m است، قرار گرفته است.)
- سپس یک حلقه به اندازهی پیکسلهای طول و یک حلقه به اندازهی پیکسلهای عرض تصویر در نظر میگیریم. (این تصویر 500در500 است.)
- سپس مقدار قبلی تصویر را از مقدار 255 کم میکنیم و در همان شماره خانه در متغیر دوم قرار میدهیم.
- در آخر تصویر اصلی و تصویر تبدیل شده را با دستور imshow نمایش میدهیم.
اگر نیاز به یادگیری نرمافزار متلب را دارید این لینک را دنبال کنید. در صورتی که روشهای بهتری برای تمرین بالا در اختیار دارید برای ما ارسال کنید.
ارسال پاسخ