پردازش تصویر

تبديل يك تصوير چندفريمي به فيلم

تبديل يك تصوير چندفريمي به فيلم

از تابع immovie ميتوان براي تبديل يك تصوير چند فريمي به فيلم استفاده كرد. مثلاً براي تبديل يك تصوير چندفريمي انديس گذاري شده به فيلم به صورت زير عمل كنيد:

mov = immovie(X,map);

حال از دستور Implay براي پخش فيلم استفاده كنيد:

Implay(mov);

مثال زير يك فايل tif به نام mri.tif تصوير چندفريمي (همان آرايه چندبعدي) ذخيره مي كند. سپس اين تصوير چندفريمي به فيلم تبديل شده و در انتها پخش مي شود:

mri = uint8(zeros(128,128,1,27));
for frame=1:27
[mri(:,:,:,frame),map] = imread(‘mri.tif’,frame);
end
mov = immovie(mri,map);
implay(mov);

براي توليد فيلمي كه در خارج از متلب هم قابل پخش باشد بايد فيلمي از نوع avi بسازيد. دو راه براي اين كار وجود دارد:
1- از دستورات avifile و addframe استفاده كنيد.
2- يا اينكه از دستورmovie2avi استفاده كنيد.

توجه كنيد كه ميتوانيد به كمك تصاوير انديس گذاري شده و يا RGB كه از نوع double و يا uint8 باشند، يك فيلم avi بسازيد.

نمايش تصاويرانديس گذاري شده
يك تصوير انديس گذاري شده شامل يك ماتريس تصوير و يك ماتريس رنگ است. عناصر ماتريس تصوير در حقيقت اشاره گرهايي به درون ماتريس رنگ مي باشند. براي نمايش چنين تصاويري بايد هر دو ماتريس را در دستور imtool و يا imshow ذكر كنيم:

imshow(X,map)
imtool(X,map)

اگر نوع عناصر ماتريس تصوير برابر double باشد، مقدار 1 در ماتريس تصوير به اولين سطر ماتريس رنگ، مقدار 2 به دومين سطر و همين طور الي آخر اشاره دارد. اما اگر نوع عناصر ماتريس تصوير برابر 8 uint و يا uint16 باشد، مقدار 0 به اولين سطر ماتريس رنگ، مقدار 1 به دومين سطر و همين طور الي آخر اشاره دارد. اگر در ماتريس تصوير عنصري بزرگتر از تعداد سطرهاي ماتریسي رنگ وجود داشته باشد (يعني سطرمعادل آن وجود نداشته باشد)، از آخرين سطر ماتريس رنگ استفاده م يشود.
نمايش تصويري كه مقادير آن خارج از بازه معمول است

فرض كنيد تصويري داريد كه مقادير آن خارج از بازه متداول است؛ يعني:

1- بازه [ 0,1 ] براي نوعهاي single و double
2- بازه [ 0,255 ] براي نوع 8 uint
3- بازه [ 0,65535 ] براي نوع 16 uint
4- بازه [ 32768,32767 ‐] براي نوع 16 int

چنين تصويري ممكن است براي مثال، حاصل فيلتر كردن يك تصوير نرمال (يعني با مقادير در بازه معمول) باشد. براي نمايش چنين تصاويري، بازه تغييرات را در دستور imshow  و يا دستور imtool به صورت زيرذكر كنيد:

imshow(I,’DisplayRange’,[low high])
imtool(I,’DisplayRange’,[low high])

اگر محدوده بالا و پايين را ذكر نكنيد و فقط از [] استفاده كنيد، محدوده مناسب به طور خودكار تعيين مي شود. به مثال زير توجه كنيد (در شكل حاصل توجه كنيد كه محدوده تغييرات تصوير ذكر شده است):

I = imread(‘testpat1.png’);
J = filter2([1 2;‐1 ‐2],I);
imtool(J,’DisplayRange’,[]);

630

مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *