ساخت تصویر برفکی با متلب
میدانید که تلوزیونهای قدیمی زمانی که تلوزیون به آنتن وصل نشود یا مشکلی در آنتن آن ایجاد شود، صفحاتی با نقاط سفید و خاکستری و سیاه به صورت تصادفی را در تصویر مشاهده میکنید.
پیشنهاد نویسنده: الگوریتم برش ساترلند هاگمن
ساخت تصویر برفکی با متلب
برای ساخت تصویر برفکی به صورت رندوم باید از کد زیر استفاده کنید:
clc; clear all; numbers = [0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 255]; numbersSize = size(numbers); x = 1000; y = 1000; imageResult = zeros(x, y); for i = 1 : x for j = 1 : y tempIndex = (numbersSize - 2).* rand(1) + 1; imageResult(i, j) = numbers( round(tempIndex(2)) ); if(imageResult(i, j) > 255) imageResult(i, j) = 255; end end end image = uint8(imageResult); figure, imshow(image);
نکته: خروجی یک تصویر grayscale (خاکستری) است.
توضیحات
ابتدا با x و y سایز پیکسلهای تصویر را مشخص میکنیم. سپس به علت دوبعدی بودن فضای یک تصویر با یک حلقهی تو در تو تصویر را پیمایش میکنیم. در مرحلهی بعد یک عدد تصادفی را به عنوان index برای ماتریس رنگها بدست میآوریم. مقدار تصادفی را برای آن پیکسل در نظر میگیریم تا پیکسلها به پایان برسند. در مرحلهی بعد ماتریس تصویر را که به صورت double است به unit8 تبدیل میکنیم تا به صورت یک تصویر با تابع imshow قابل نمایش شود.
اگر نیاز به یادگیری نرمافزار متلب را دارید این لینک را دنبال کنید. در صورتی که روشهای بهتری برای تمرین بالا در اختیار دارید برای ما ارسال کنید.
ارسال پاسخ