۱۳۸۹ خرداد ۲۶, چهارشنبه

برنامه دوشنبه، خلق یکی از بزگترین و زیباترین آثار هنری جنبش سبز - با ما باشید.



زمان: دوشنبه 21 ژوئن، ساعت 10:30 تا 11:30
مکان: مقابل فلکه دوار دانشکده شیمی، همان مکان مراسم 22 خرداد - نقشه در انتهای پست
موضوع: خلق یکی از بزگترین و زیباترین آثار هنری جنبش سبز - پوستری 3 متر در 4 متر با کنار هم قرار گرفتن 1200 تکه کاغذ در 5 رنگ مختلف!

برای روز دوشنبه پیشنهادات بسیاری توسط دوستان مطرح و بر روی برنامه های بسیاری فکر شد. می خواهیم برنامه ای داشته باشیم که تا حد زیادی از کلیشه مراسم و تجمعات عادی خارج شده و با برنامه های قبلی تا حد زیادی متفاوت باشد.

یکی از دوستان پیشنهاد دادند که از هنر قهوه (Coffee Art) استفاده کنیم. این ویدئو را ببینید.


می توانیم مشابه این کار را ما نیز انجام دهیم. البته نه لزوماً با قهوه، بلکه با تعداد زیادی تکه های کاغذ در 5 سطح رنگ مختلف. در ادامه نحوه رسیدن به طرح قهوه مورد نظر توضیح داده شده است. البته قرار شده است که با توجه به امکانات محدود فعلی، این طرح را با کنار هم گذاشتن 1200 تکه کاغذ به ابعاد 10 سانتی متر در 10 سانتی متر انجام داده و یکی از بزرگترین طرح های هنری جنبش سبز را در دانشگاه Texas A&M خلق کنیم! در خلق یکی از زیباترین آثار هنری جنبش سبز با ما همراه باشید.

کار بسیار ساده است. یک برنامه در MATLAB نوشته ایم که در انتهای این پست آمده است. این برنامه یک تصویر را گرفته و Coffee Map آن را به ما می دهد. به عنوان مثال یک تصویر از ندا را در نظر می گیریم. مثلاً تصویر زیر:


این تصویر داراری هیستوگرام Gray Value زیر می باشد.
همانگونه که می بینیم، هستوگرام در 5 میزان روشنایی پیک زده است. کافی است این میزان های روشنایی را در نظر گرفته و به جای آنها فنجان کوچکی از قهوه با میزان روشنایی متناسب را قرار دهیم.

یکی از مشکلات موجود، سایز تصویر است. برای کاهش تعداد پیکسلهای تصویر نیز می توان، ماسکی با ابعاد دلخواه در نظر گرفته و به ازای یک بلوک مربعی از تصویر با سایز ماسک، یک پیکسل در نظر گرفت. مثلاً تبدیل تصویر فوق به یک تصویر 20*30 که به 30 ردیف فنجان 20 تایی نیاز دارد، به صورت زیر در می آید.

انتخاب سایز بلوک، میزان کیفیت تصویر نهایی را تحت تاثیر قرار می دهد. می توان بسته به میزان امکانات موجود سایز تصویر را بزرگ یا کوچک انتخاب نمود.

قبل از اقدام به پیاده سازی این طرح، سعی کردیم نتیجه را شبیه سازی نیز بکنیم تا احیاناً در روز مراسم ضایع نشویم. در ادامه به ترتیب نتیجه شبیه سازی برای به ترتیب بلوکهای 20*30 و 30*40 نشان داده شده است. طرح نهایی کار شبیه تصاویر زیر خواهد شد. همانگونه که ملاخظه می فرمایید در این تصویر فقط از 5 سطح روشنایی رنگ حول رنگ قهوه ای استفاده شده است.


طرح نهایی برای بلوک 20*30

طرح نهایی برای بلوک 30*40

هر یک از طرح های فوق می تواند به سادگی پیاده سازی شده و به این ترتیب با چند خط کد نویسی و استفاده از قهوه (یا رنگ شبیه قهوه) در 5 سطح رنگ مختلف (یا با تعداد زیادی کاغذ در 5 سطح خاکستری مختلف) و با انجام یک کار گروهی جالب می توان یک تصویر زیبا و یک هنر سبز خلق کرد. در انجام این کار بر روی کمک همه دوستان، به ویژه، دوستان دانشجویی که در رشته های نزدیک به هنر در حال تحصیل در دانشگاه هستند، حساب می کنیم.

لطفاً نظر خود را در مورد این پیشنهاد (مزایا، معایب، امکان پیاده سازی و ...) را در بخش نظرات همین پست و یا در فیس بوک و یا ازطریق ایمیل مطرح کرده و در اطلاع رسانی آن کمک کنید.

ضمیمه: کد متلب نوشته شده در زیر آمده است.

%% Start
clc
clear
close all

%% Reading Images
I = imread('neda8.jpg');
I = imresize(I,.5);
I = double(I)/255;

Ig = rgb2gray(I);
figure(1)
imshow(Ig)
[M N] = size(Ig);
% I2 = (round(Ig * 5))/5;
I2 = Ig;
Hist = [0 .25 .7 .85 1];

for ii = 1:M;
for jj = 1:N
D = abs(I2(ii,jj) - Hist);
Inx = find(D==min(D)); Inx = Inx(1);
I2(ii,jj) = Hist(Inx);
end
end

figure(2)
imshow(I2)

I3 = I2;
MaskSize = 18;

% for ii = 1:MaskSize:M-MaskSize
%
% for jj = 1:MaskSize:N-MaskSize
% Block = I2(ii:ii+MaskSize-1,jj:jj+MaskSize-1);
% I3(ii:ii+MaskSize-1,jj:jj+MaskSize-1) = mean(mean(Block));
% end
% end

I3 = imresize(I2,[30 ,20]);

figure(3)
imshow(I3)
AAA = [M N]/MaskSize;
NNN = prod(AAA)
imwrite(I3,'abcd.jpg')
%% Coffee Image;
Cof(1).I = double(imread('coffee1.bmp'))/255;
Cof(2).I = double(imread('coffee2.bmp'))/255;
Cof(3).I = double(imread('coffee3.bmp'))/255;
Cof(4).I = double(imread('coffee4.bmp'))/255;
Cof(5).I = double(imread('coffee5.bmp'))/255;
ResizeSize = [5 5];
Cof(1).I = imresize(Cof(1).I,ResizeSize);
Cof(2).I = imresize(Cof(2).I,ResizeSize);
Cof(3).I = imresize(Cof(3).I,ResizeSize);
Cof(4).I = imresize(Cof(4).I,ResizeSize);
Cof(5).I = imresize(Cof(5).I,ResizeSize);
[M3 N3] = size(I3);
I_Coffee = zeros(M3*ResizeSize(1),N3*ResizeSize(1),3);
for ii = 1:M3
for jj = 1:N3;
D = abs(I3(ii,jj) - Hist);
Inx = find(D==min(D)); Inx = Inx(1);
I_Coffee((ii-1)*ResizeSize(1)+1:(ii)*ResizeSize(1) , (jj-1)*ResizeSize(1)+1:(jj)*ResizeSize(1) , :) = Cof(Inx).I;
end
end

figure(10)
imshow(I_Coffee)
imwrite(I_Coffee,'I_Coffee3020.jpg')

هیچ نظری موجود نیست:

ارسال یک نظر