loading...
sim power
مهندس احمدی بازدید : 207 یکشنبه 09 آبان 1395 نظرات (0)

  

OCTAVE GNU

 
 

octave  gnu

octave  gnu یک زبان برنامه نویسی سطح بالا مانند متلب است و با متلب بسیار همساز است.همچنین برای محاسبات عددی استفاده می شود.

octave ویژگی های مشترکی با متلب دارد:

  • ماتریس ها انواع داده بنیادی هستند
  • ساختمان آن اعداد پیچیده را پشتیبانی می کند
  • توابع تعریف شده – کاربر را پشتیبانی می کند
  • octave gnu همچنین نرم افزار توزیع مجدد آزادانه است.شما ممکن است توزیع مجدد و یا را تحت واژه هایی از دانش عمومی  کلی(gpl) به عنوان تاسیس نرم افزار رایگان انتشار نمایید.

octave در مقابل متلب

اکثر برناه های متلب در octave اجرا می شوند، اما برخی از برنامه های octave ممکن نیست که در متلب اجرا شوند زیرا، octave مجوز برخی نحوه اجرا در متلبمتلب را ندارند.

برای مثال، متلب تنها تک کوتیشن را پشتیبانی می کند، در حالی که متلب هر دو تک کوتیشن و جفت کوتیشن را برای رشته های معین پشتیبانی می کند. اگر شما در جستجو برای آموزش octave هستید، در آن صورت این آموزش دلپذیر از ابتدا هر دو متلب و همچنین octave را پوشش می دهد.

مثال های سازگار

تقریباً تمامی مثال ها در این آموزش سازگار با متلب همچنین octave هستند.اجازه دهید مثال زیر را در متلب و octave  انجام دهیم که بدون تغییرات نحوه اجرا در متلبنتایج یکسانی را تولید می کند:

این مثال یک طرح 3d-max برای تابع  g=xe-(x2*y2) ایجاد می کند.  یک فایل اسکریپت ایجاد کنید و کد زیر را در آن تایپ نمایید:

[x, y] = meshgrid (-2: .2:2);

g = x .* exp(-x.^2- y.^2);

surf (x, y, g(

print:-deps graph . eps

زمانی که فایل را اجرا می کنید، متلب طرح سه بعدی زیر را نشان می دهد:

592

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

مثال زیر  در نظر دارد که متلب وoctave مطمئناً باید توابع متفاوتی  برای گرفتن ناحیه از منحنی را استفاده کنند:f(x)=x2cos(x)for-4.در زیر نسخه ای از کد در متلب است:

ادامه مطلب....

مهندس احمدی بازدید : 111 یکشنبه 09 آبان 1395 نظرات (0)

 

GUI در متلب-۱

 
 

GUI (رابط گرافیکی برای کاربر) نوعی رابط تـصویری بـرای برنامـه اسـت که  نمونـه خـوب آن میتواند با فـراهم کـردن شـکل و صـورتی ثابـت بـرای برنامـه و همچنـین بـا کنترلگرهـای آشـنا، مثـل

menus وsliders جعبه هـای لیـست) و) list boxes ،(دکمه‌های فشاری) pushbuttons

(منوها) و مانند اینها استفاده از برنامه را آسانتر کند. رابط گرافیکی باید رفتاری قابل فهـم و پـیش بینـی داشته باشد، بدین معنی که کاربر بداند در ازای انجام عملی خاص، چه اتفاقی خواهد افتـاد. بـرای مثـال،هنگامی که ماوس روی یکpushbutton  کلیک می کند،GUI  باید عملی را که روی آن نوشته شده،آغاز کند.

 

یک GUI چگونه کار می کند؟ 

رابــط گرافیکــی (GUI) محیطــی آشــنا بــرای کــاربر فــراهم مــی کنــد. ایــن محــیط حــاویpushbutton‌ها، togglebutton‌ها، list‌ها، menu‌ها، text box  ها، و . . . مـی باشـد که برای همه کاربران آشن است و این موجب میشود که کاربر به جای مشغول کردن ذهن خود با چنـد وچون اجرای برنامه و پیچیدگی آن، تنها روی استفاده از آن تمرکز کند. ایجاد رابط های گرافیکـی بـرای برنامه نویس کار مشکلی است. زیرا برنامهای که بـر پایـهGUI  طراحـی شـده بایـد در هـر زمـان آمـاده ورودیهای ماوس و (یا احت مالاً ورودیهای کیبرد ) روی هر یک از عناصر خـود باشـد. ایـن ورودیهـا بـهevent‌ها معروفند. برنامهای که به این event‌ها پاسخ گوید، event driven نامیده می شود.  سه عنصر اساسی لازم برای ایجاد رابط گرافیکی (matlab (GUI عبارتند از:

1-   (Components) اجزا

عناصر درونpushbutton) GUI  ها،label  ها،editbox  ها ) اجزای گرافیکی نام دارند .

انواع این اجزا شامل کنتـرلهـای گرافیکـی، (ماننـدpushbutton  هـا،editbox  هـا،list  هـا،slider‌ها و. . .) عناصر ثابت و بدون تغییر (مانند قابها و نوشتههـا )، منوهـا و محورهـای مختـصاتهستند. کنترلهای گرافیکی و عناصر ثابت توسط تابعuncontenxmenu  به وجود میآیند. در نهایت،محورهای مختصات که وظیفه نمایش داده های گرافیکی را بر عهده دارند، توسـط تـابعaxes  بـه وجـودمیآیند.

2-   (Figures) اشکال

اجزایGUI  باید درون یکfigure  مرتب شوند، که پنجـرهای روی صـفحه کـامپیوتر اسـت. پیش از اینfigure  ها به طور خودکار هنگام ترسیم دادهها بوجود می آمدند. با این وجـود،figure  های خالی را نیز میتوان با دستور figure  ایجاد کرد و از آنهـا مـیتـوان بـرای نگـهداری و کنـار هـمگذاشتن اجزای گرافیکی استفاده کرد.

3-   (Callbacks) فراخوان‌ها

باید راهی برای انجام عملی خاص هنگامی که کاربر با ماوس روی یک دکمه کلیک یا اطلاعاتی را توسط کیبرد تایپ می کند، وجود داشته باشد. هر کلیک ماوس یا فشار کلید از صفحه کلید یـکevent  تلقی می شود و برنامه matlab باید با اجرای تابع مربوطه، به اینevent  پاسخ گوید. به عنـو ان مثـال،اگر کاربر روی یک دکمه کلیک کند، این پیش آمد باید سـبب اجـرای کـد مربـوط بـهfunction  آن دکمه شود. کد اجرا شده در پاسخ به این پیش آمد، callback نام دارد. در حقیقت باید برای عملکـردهر جزء گرافیکی GUI یه callback وجود داشته باشد.

عناصر اصلیGUI  ها در زیر به خلاصه و نمونههایی از آنها در شکل 1-1 نشان داده شـده اسـت.

در ادامه مثالهایی از این عناصر را مطالعه کرده و سپس با استفاده از آنها به ایجـادGUI  هـای کـاربردیخواهیم پرداخت.

مشخصات بعضی از عناصر اصلی GUI :

uicontrol) : Pushbutton) : این جزء گرافیکی کار یک دکمه فشاری را انجام میدهـد .

هنگامی که با ماوس روی آن کلیک شود، callback مربوطه را فعال می کند.

uicontrol) : Toggle button) : جزئی گرافیکی است که کار یـک کلیـد دو حالتـه راانجام میدهد. این کلید دو وضعیت یا “روشن”است یا “خاموش” و هر بار که بـا مـاوس روی آن کلیـکشود، تغییر وضعیت داده و callback مربوط به آن فعال می شود.

uicontrol) : Radio button) : نوعی از toggle button‌هاست که بـه صـورتدایره کوچکی است و هنگام “روشن” بودن نقطـه ای در مرکـز آن قـرار مـی  گیـرد. گروهـی ازradio button‌ها را میتوان برای پیادهسازی گزینههای مستقل استفاده کرد. هر کلیک ماوس روی این جـزءcallback آن را فعال می کند. 

ادامه مطلب....

مهندس احمدی بازدید : 126 یکشنبه 09 آبان 1395 نظرات (0)

   

GUI در متلب-۲

 
 

GUI در متلب-2

مشخصات بعضی از عناصر اصلی GUI :

uicontrol) : Pushbutton) : این جزء گرافیکی کار یک دکمه فشاری را انجام میدهـد .

هنگامی که با ماوس روی آن کلیک شود، callback مربوطه را فعال می کند.

uicontrol) : Toggle button) : جزئی گرافیکی است که کار یـک کلیـد دو حالتـه راانجام میدهد. این کلید دو وضعیت یا “روشن”است یا “خاموش” و هر بار که بـا مـاوس روی آن کلیـکشود، تغییر وضعیت داده و callback مربوط به آن فعال می شود.

uicontrol) : Radio button) : نوعی از toggle button‌هاست که بـه صـورتدایره کوچکی است و هنگام “روشن” بودن نقطـه ای در مرکـز آن قـرار مـی  گیـرد. گروهـی ازradio button‌ها را میتوان برای پیادهسازی گزینههای مستقل استفاده کرد. هر کلیک ماوس روی این جـزءcallback آن را فعال می کند.

check box : (uicontrol) : Check box نوعی از toggle button‌ها است که به شکل مربعی کوچک با علامت تیک (3) در درون آن به منزله “روشـن ” بـودن مـیباشـد . هـر کلیـکماوس روی آن، callback آن را فعال می کند.

edit box : (uicontrol) : Edit box متنی را نمـایش مـی دهـد و بـه کـاربر اجـازهمیدهد اطلاعات نشان داده شده در آن را تغییر دهد. Callback مربوط به آن با فشار دکمـهenter  فعال می شود.

uicontrol) : List box) : کنترلی گرافیکی است که یـک سـری از مـتن هـای رشـته ای

(text string) را نمایش می دهد کاربر می تواند با یک یا دو بار کلیک روی هر یک از این متن هـایرشته ای آنها را انتخاب کند. به هنگام انتخاب یک متن رشته ای callback آن فعال می شود.

uicontrol) : Popupmenu) : کنترلی  گرافیکی است که در پاسخ بـه کلیـک مـاوس یـکدسته از متنهای رشتهای را نمایشمیدهد. تا هنگامی که روی یک منویpopup  کلیک نـشده اسـت،تنها رشته انتخاب شده فعلی آن قابل مشاده است.

slider : (uicontrol) : Slider کنترل گرافیکی دیگری است که نقش آن تنظیم یکمقدار به طور منظم و پیوسته با کشیدن کنتـرل آن بـه وسـیله مـاوس اسـت. هـر تغییـر درslider  ،callback اش را فعال می کند.

uicontrol) : Frame) : یک قاب ایجاد میکند که در حقیقیت جعبـه مربعـی شـکل درونfigure میباشد. قابها برای گروه بندی مجموعهای از کنترلهای گرافیکی استفاده میشوند. قابها هرگزcallback ی را فعال نمی کنند.

ادامه مطلب.....

مهندس احمدی بازدید : 135 یکشنبه 09 آبان 1395 نظرات (0)

  

استفاده از SIMULINK

 
 

استفاده از simulink

برای باز کردن simulink ،در فضای کاری تلب تایپ نمابید:

simulink

simulink به همراه مرورگر کتابخانه باز می شود.مرورگر کتابخانه برای ساخت مدل های شبیه سازی استفاده می شود.

595

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

برای ایجاد یک مدل جدید، دکمه new  بر روی نوار ابزار مرورگر کتابخانه کلیک کنید. یک مدل بدون عنوان باز می شود

596

مدل  simulink یک نمودار بلوکی است.

عناصر مدل  با انتخاب عناصر مناسب از مرورگر کتابخانه و کشیدن آن ها به پنجره مدل اضافه شده اند.

متناوباً، شما می توانید عناصر مدل را کپی کنید و آن ها را به پنجرا مدل paste نمایید.

مثال ها

عناصر را از کتابخانه simulink  برای ساخت پروژه بکشید و رها کنید.

به منظور این مثال، 2 بلوک برای شبیه سازی استفاده خواهد شد – source(سیگنال) ,  sink(حوزه). ژنراتور سیگنال(source) سیگنال آنال.گ تولید می کند، که سپس به صورت گرافیکی   با آن حوزه تجسم خواهد شد.

598

ابتدا بلوک های مورد نیاز  از کتابخانه را به پنچره پروژه اضافه کنید. سپس، بلوک ها را به یکدیگر وصل کنید که می تواند توسط اتصالگرها از نقاط اتصال بر روی یک بلوک کد دیگر انجام شود.

اجازه دهید بلوک ‘ موج سینوسی’را به مدل بکشیم.

ادامه مطلب....

مهندس احمدی بازدید : 119 یکشنبه 09 آبان 1395 نظرات (0)

 

سیستمهای مختصات دهی تصاویر

 
 

سیستمهای مختصات دهی تصاویر

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

1- سیستم مختصات دهی پیکسلی
متداولترین روش برای مختصات دهی است. در این روش، تصویر به عنوان شبکه ای از عناصر گسسته در نظر گرفته میشود که مطابق شکل زیر، به ترتیبِ از بالا به پایین، و از چپ به راست چیده شده اند.

602

اولین مولفه r  (سطر) بوده و به سمت پایین افزایش می یابد، دومین مولفه c ستون) بوده و به سمت راست افزایش می یابد. مختصات پیکسلها اعداد صحیحی هستند که بین 1 تا ماکزیم تعداد سطرها/ستونها تغییر می کنند. بین مختصات سطر و ستونی پیکسلها و مختصات نقاط متناظر در ماتریس Iتصویر تناظر یک به یک وجود دارد. برای مثال عضوی از ماتریس I به مختصات ( 2,15) همان پیکسل واقع در سطر دوم و ستون  پانزدهم است.

2- مختصات مکانی

در این روش به جای اینکه پیکسل را به عنوان یک نقطه گسسته در نظر بگیریم، آن را به عنوان یک مربع در نظر میگیریم. بنابراین، در این روش مختصات ( 5.3,2.2 ) معنا دار خواهد بود حال آنکه در مختصات پیکسلی فاقد معنا است. در روش مختصات مکانی، نقاط مختلف تصویر در واقع مکانهایی در صفحه ی x‐y بوده و با همین اعداد (یعنی y و x) توصیف میشوند نه c و r. شکل زیر این مطلب را نشان می دهد. 

ادامه مطلب....

مهندس احمدی بازدید : 136 یکشنبه 09 آبان 1395 نظرات (0)

  

کار با دنباله های تصاویر

 
 

کار با دنباله های تصاویر

برخی تصاویر در حوزه زمان (مانند فریمهای ویدویی) یا مکان (مانند تصاویرMRI) به هم مرتبط هستند. این گونه تصاویر را دنباله های تصویری یا انباشته های تصویری می گویند. برای ذخیره وپردازش دنباله های تصویری باید یک آرایه سه بعدی یا چهار بعدی ایجاد کرد. برای ایجاد دنباله هایی از تصاویر سطح خاکستری و باینری نیاز به آرایه سه بعدی (m×n×p) و برای ایجاد دنباله هایی از تصاویر رنگی نیاز به آرایه چهار بعدی (m×n×3×p) داریم.

612

برخی توابع در متلب آرایه های چند بعدی قبول میکنند اما لزوماً به چشم تصویر به آنها نگاه نمیکنند؛ بنابراین، در استفاده از آنها باید دقت کنید. جدول زیر این توابع را لیست کرده و به شما توضیح می دهد که چگونه از آنها برای دنبال ههای تصویری بهره ببرید (مثلاً به شما میگوید که برای یک دستور باید از کدام قالب آن استفاده کنید).

ادامه مطلب....

مهندس احمدی بازدید : 99 یکشنبه 09 آبان 1395 نظرات (0)

  

تغییر محدوده مختصات مکانی

 
 

تغییر محدوده مختصات مکانی
محدوده تغییرات مختصات مراکز پیکسلها در ویژگیهای YData و XData قرار دارد. اگرA تصویری دارای 100سطر و 200 ستون باشد، مقدار پیش فرض YData برابر [ 1,100 ] و مقدار پیش فرض XData برابر [1,200] است بنابراین، مختصات x نقاط این تصویر در سیستم مختصات دهی مکانی، در حالت پیش فرض در محدوده [ 0.5,200.5 ] و مختصات y نیز در محدوده [ 0.5,200.5 ]تغییر میکنند. برای تغییر محدوده مختصات در سیستم مختصات دهی مکانی میتوانید ویژگیهای YData و XData را در حین نمایش تصویر تغییر دهید. برای مثال:

A = magic(5);
x = [19.5 23.5];

y = [8.0 12.0];

image(A,’XData’,x,’YData’,y), axis image, colormap(jet(25))

نتیجه:

ادامه مطلب....

مهندس احمدی بازدید : 84 یکشنبه 09 آبان 1395 نظرات (0)

  

تبدیل بین انواع مختلف تصویری

 
 

تبدیل بین انواع مختلف تصویری

برای تبدیل نوع سطح خاکستری به نوع رنگی کافی است که تصویر را سه بار کپی کرده و در یکی از سه بعد تصویر رنگی مربوطه قرار دهیم. اگر I یک تصویر سطح خاکستری باشد و بخواهیم از روی آن تصویر رنگی RGB  بسازیم به طریق زیر میتوانیم عمل کنیم:

RGB = cat(3,I,I,I);

توابع مربوط به تبدیل انواع:

611

تبدیل بین انواع کلاسهای مختلف تصویری

برای تبدیل نوع های 8uint و 16 uint به نوع double از دستور double استفاده کنید اما توجه داشته باشید که گاهی اوقات لازم است در ادامه اعداد را نرمالیزه و یا بایاس هم کنید. برای اینکه مطمئن شوید که کار نرمالیزه کردن و یا بایاس کردن به درستی انجام میشود میتوانید از توابع زیر برای تبدیلات مختلف خود استفاده کنید:

im2uint16, im2int16, im2uint8, im2single, im2double

برای مثال اگر تصویری از نوع double دارید (و بنابراین مقادیر عددی آن بین صفر تا 1 می باشد)، به کمک دستور زیر آن را به نوع 8 uint تبدیل کنید (بنابراین در تصویر خروجی، مقادیر بین صفر تا 255 می باشند):

RGB2 = im2uint8(RGB1);

ادامه مطلب....

مهندس احمدی بازدید : 253 یکشنبه 09 آبان 1395 نظرات (0)

  

انواع مختلف تصویر در متلب-۲

 
 

انواع مختلف تصویر در متلب

3- تصاویر سطح خاکستری
یک تصویر سطح خاکستری یک ماتریس دو بعدی است که عناصر آن معرف شدت روشنایی پیکسل مربوطه در محدوده ای مشخص می باشند.  به طور پیش فرض در اینجا از نماد I برای اشاره به تصاویر سطح خاکستری استفاده شده است.

608

نوع (یا کلاس) یک تصویر سطح خاکستری میتواند برابر int و یا 16 ،uint16 ،uint8 ،double ،single  باشد. متلب معمولاً برای نمایش تصاویر سطح خاکستری نیز از ماتریس رنگ (مشابه با تصاویر اندیس گذاری شده) استفاده می کند. اما برای ذخیره ی آنها معمولاً از ماتریس رنگ استفاده نمی کند. اگر نوع تصویر برابر double و یا single باشد، طبق ماتریس رنگ پیش فرض، مقدار صفر متناظر با سیاه کامل و مقدار 1 متناظر با رنگ سفید کامل است. برای تصاویری از نوع uint 8 و یا uint16 مقدار (intmin(class(I متناظر با رنگ سیاه کامل  و مقدار (intmax(class(I) متناظر با  رنگ سفید کامل است.

4- 4 تصاویر رنگی
یک تصویر رنگی، تصویری است که هر پیکسل آن با سه عدد مشخص می شود که هر عدد متناظر با شدت یکی از رنگهای قرمز، سبز، و آبی است. (در حقیقت، میدانیم که هر رنگ را میتوان با ترکیبی از این رنگهای اصلی به دست آورد). در متلب هر تصویر رنگی به صورت یک آرای هی m×n×3 (یعنی یک آرایه سه بعدی) ذخیره می شود. این آرایه، در حقیقت، شامل سه ماتریس رنگ است که هر ماتریس مشخص کننده ی شدت یکی از رنگها برای تمام پیکسلهای مختلف می باشد. در تصاویر رنگی، دیگر از ماتریس رنگ استفاده نمی شود.

609

هر تصویر رنگی میتواند از یکی از انواع double و یا ،single ،uint16 ،uint باشد.  در حالتsingle و double هر مولفه رنگ عددی بین صفر تا 1 است. بنابراین مولفه ی ( 0,0,0 ) به معنای سیاه کامل و مولفه ی (1,1,1) به معنای سفید کامل است. مولفه های رنگ هر پیکسل واقع در مختصات (x,y) در بعد سوم از آرایه ی سه بعدی متناظر با تصویر قرار داده میشوند. مثلاً مولفه های قرمز، سبز، و آبیِ پیکسل واقع در
RGB( و ( 4,15,3 RGB(4,15,2) ،RGB( در محلهای به ترتیب ( 4,15,1 RGB مختصات ( 4,15 ) از تصویر
قرار دارند.

مثال زیر یک نمونه از ترکیب رنگها را نشان میدهد:

RGB=reshape(ones(64,1)*reshape(jet(64),1,192),[64,64,3]);
R=RGB(:,:,1);
G=RGB(:,:,2);
B=RGB(:,:,3);
imshow(R)
figure, imshow(G)
figure, imshow(B)
figure, imshow(RGB)

نتیجه:

ادامه مطلب....

مهندس احمدی بازدید : 134 یکشنبه 09 آبان 1395 نظرات (0)

  

خواندن و نوشتن تصاویر

 
 

خواندن و نوشتن تصاویر

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

مثالی از خواندن یک فایل تصویری:

RGB = imread(‘football.jpg’);

برخی قالبهای تصویری مانند jpg برای هر پیکسل 8 بیت تخصیص می دهند. بنابراین، متلب این نوع تصاویر را به صورت نوع 8 uint نمایش می دهد. اما برخی قالبهای تصویری مانند  PNG و TIFF می توانند برای هرپیکسل 16 بیت تخصیص دهند، بنابراین دستور imread باعث تولید آرایه ای از نوع 16 uint می گردد. برای خواندن یک تصویر به صورت یک تصویر اندیس گذاری شده، متلب از دو متغیر یکی برای ماتریس رنگ و دیگری برای ماتریس اشاره گرها. دستور imread همواره اطلاعات ماتریس رنگ را در ماتریسی از نوع  double قرار میدهد گرچه ماتریس اشاره گرها خود از نوع 8 uint و یا 16 uint است.

مثالی از خواندن یک تصویر به صورت یک تصویر اندیس گذاری شده:

[X,map] = imread(‘trees.tif’);

 برخی قالبهای تصویری مانند tiff قادر به ذخیره بیش از یک تصویر در خود هستند. در اینگونه واقع، دستور imread به طور پیش فرض اولین تصویر (یا فریم) را می خواند مگر اینکه از قالب دستور العمل مناسب برای خواندن بقیه ی فریمها استفاده کنیم. در مثال زیر، 27 تصویر از یک فایل با قالب tiff خوانده شده و در یک آرایه چهار بعدی قرار داده می شوند. البته جلوتر م یتوانید از دستور imfinfo کمک بگیرید تا ببینید چند فریم در فایل ذخیره شده است.

mri = zeros([128 128 1 27],’uint8′); % preallocate 4‐D array
for frame=1:27
[mri(:,:,:,frame),map] = imread(‘mri.tif’,frame);
end

اگر میخواهید فایل بزرگی را بخوانید برای اینکه مشکل کمبود حافظه پیش نیاید، یک راه این است که از پردازش بلوکی استفاده کنید.
برا ذخیره داده های یک تصویر به صورت یک فایل تصویری روی حافظه کامپیوتر از دستور imwrite می توانید استفاده کنید. در مثال زیر ابتدا یک تصویر اندیس گذاری شده که در فایلی با قالب mat. ذخیره شده است خوانده شده و به فضای کاری متلب منتقل می شد. سپس این تصویر به صورت یک فایل تصویری با قالب bmp. در حافظه کامپیوتر ذخیره می شود.

>>load clown
>>whos
Name Size Bytes Class
X 200×320 512000 double array
caption 2×1 4 char array
map 81×3 1944 double array
Grand total is 64245 elements using 513948 bytes
>>imwrite(X,map,’clown.bmp’)

ادامه مطلب....

تعداد صفحات : 80

اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 791
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 15
  • آی پی دیروز : 55
  • بازدید امروز : 26
  • باردید دیروز : 2,205
  • گوگل امروز : 1
  • گوگل دیروز : 12
  • بازدید هفته : 2,433
  • بازدید ماه : 3,508
  • بازدید سال : 26,247
  • بازدید کلی : 197,353