وب سایت تخصصی پردازش تصویر https://imageyar.ir آموزش و پیاده سازی تکنیک های پردازش تصویر- مشاوره و مشارکت در پروژه های آموزشی و تجاری Mon, 27 Apr 2020 08:27:41 +0000 fa-IR hourly 1 https://wordpress.org/?v=5.6.13 https://imageyar.ir/wp-content/uploads/2017/02/cropped-Logo-32x32.jpg وب سایت تخصصی پردازش تصویر https://imageyar.ir 32 32 تبدیل ماتریس به تصویر خاکستری | آموزش دستور mat2gray https://imageyar.ir/mat2gray/ https://imageyar.ir/mat2gray/#respond Mon, 27 Apr 2020 07:54:30 +0000 http://imageyar.ir/?p=244 وب سایت الگوریتم های تکاملی www.takamoli.ir

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

نوشته تبدیل ماتریس به تصویر خاکستری | آموزش دستور mat2gray اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

گاها نیاز داریم که در حین پردازش تصاویر ، عمل تبدیل ماتریس به تصویر Gray را انجام دهیم ، در این آموزش شما را با نحوه کار کردن با دستور mat2gray در متلب آشنا خواهیم کرد و مثالهایی نیز برای فهم بهتر قرار داده ایم.

 

چطور یک ماتریس را به تصویر خاکستری تبدیل کنیم؟

اگر تصویری یا داده هایی دارید که در داخل یک ماتریس قرار گرفته است و حالا میخواهید آن ماتریس را به یک تصویر خاکستری تبدیل کنید ، تا آن را نمایش دهید یا پردازش دیگری را بر روی آن انجام دهید، میتوانید از دستور mat2gray در نرم افزار matlab استفاده کنید.

 

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

I = mat2gray(A,[amin amax])

در کد فوق نیز ماتریس A را به تصویر شدت I تبدیل می کند.

ماتریس برگشتی I حاوی مقادیر در محدوده ۰ (سیاه) به ۱٫۰ (با شدت کامل یا سفید) است. amin و amax مقادیر A هستند که با ۰ و ۱٫۰ در I مطابقت دارند.

I = mat2gray(A)

در دستور فوق ، ماتریس A را به تصویر خاکستری تبدیل کرده و در متغیر I قرار داده ایم.

مقادیر amin وamax را در حداقل و حداکثر مقادیر در A قرار می دهد.

آرایه ورودی A و تصویر خروجی I از کلاس باینری هستند.

 

برای اینکه بیشتر با دستور mat2gray و نحوه استفاده آن آشنا شوید مثال زیر را در نظر بگیرید. در این کد ، تصویر rice را لود کرده و سپس فیلتر سوبل را بر آن اعمال میکنیم.

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

مثال:

I = imread('rice.png');
J = filter2(fspecial('sobel'),I);
K = mat2gray(J);
figure
imshow(K)

تبدیل ماتریس به تصویر خاکستری با دستور mat2gray

تصویر سمت چپ تصویر اولیه و تصویر سمت راست تصویر بعد از اعمال فیلتر سوبل است.

منبع : مثورک

نوشته تبدیل ماتریس به تصویر خاکستری | آموزش دستور mat2gray اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/mat2gray/feed/ 0
تبدیل تصویر Index به خاکستری  | آموزش دستور ind2gray https://imageyar.ir/ind2gray/ https://imageyar.ir/ind2gray/#respond Sat, 24 Aug 2019 06:35:20 +0000 http://imageyar.ir/?p=232 وب سایت الگوریتم های تکاملی www.takamoli.ir

تبدیل تصویر Index به خاکستری  | آموزش دستور ind2gray ind2gray ( pic , map ) آیا تاکنون برای شما هم پیش آمده که بخواهید تصویر index را به خاکستری تبدیل کنید ؟ این کار با برنامه متلب براحتی و در عرض چند ثانیه انجام می شود و با آن میتوانید هر تصویر index را به دلخواه خاکستری

نوشته تبدیل تصویر Index به خاکستری  | آموزش دستور ind2gray اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

تبدیل تصویر Index به خاکستری  | آموزش دستور ind2gray

تبدیل تصویر Index به خاکستری  | آموزش دستور ind2gray

ind2gray ( pic , map )

آیا تاکنون برای شما هم پیش آمده که بخواهید تصویر index را به خاکستری تبدیل کنید ؟

این کار با برنامه متلب براحتی و در عرض چند ثانیه انجام می شود و با آن میتوانید هر تصویر index را به دلخواه خاکستری کنید.

 

با کمک دستور rgb2ind به راحتی میتوان هر تصویر index را به خاکستری تبدیل کرد .

توسط این دستور تصویری Index را می توان به تصویر از نوع Intensity تبدیل کرد.

برای ساخت صحیح این نوع از تصویر نیازی حتمی به ماتریس map می باشد.

ماتریس map اعدادی بین ۰ تا ۱ را با ۴ رقم اعشار تولید می کند و دارای ۳ ستون به عنوان سه رنگ اصلی سبز و آبی و قرمز می باشد.

این ماتریس به عنوان جعبه رنگ استفاده می شود و باید از قبل درست شده باشد. به مثال زیر توجه کنید.

نکته : شما می توانید از این جعبه رنگ یا همان map را برای هر تصویر دیگری استفاده نمایید.

 

>> X = imread ( ‘G:\ pic.jpg ‘ ) ;
>> [ X2 , map ] = rgb2ind ( X , 120 ) ;
>> H = ind2gray ( X2 , map )n ;
>> imshow ( H )

آموزش دستور ind2gray

این دستور برعکس دستور gray2ind هست که دو ورودی داره و مطابق کدهای زیر، متغیر اول یک تصویره و متغیر دوم colormap هست.

به عنوان مثال کدهای زیر رو ببینید،

اگر تصویر رو به صورت ایندکس شده بخواییم نشون بدیم تصویر سمت چپ حاصل میشه

و اگه با استفاده از دستور ind2gray تبدیلش کنیم به تصویر سطح خاکستری، تصویر سمت راست بدست میاد.

load trees
I = ind2gray(X,map);
imshow(X,map)
figure,imshow(I)

آموزش دستور ind2gray

منبع

نوشته تبدیل تصویر Index به خاکستری  | آموزش دستور ind2gray اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/ind2gray/feed/ 0
تبدیل تصویر خاکستری به Index | آموزش دستور gray2ind https://imageyar.ir/gray2ind/ https://imageyar.ir/gray2ind/#respond Sat, 24 Aug 2019 05:40:38 +0000 http://imageyar.ir/?p=221 وب سایت الگوریتم های تکاملی www.takamoli.ir

تبدیل تصویر خاکستری به Index | آموزش دستور gray2ind توسط این دستور تصویری Intensity را می توان به تصویر از نوع Index تبدیل کرد. به مثال زیر توجه کنید. عدد n میزان روشنایی تصویر را تنظیم می کند و بین ۱ تا ۶۵۵۳۵ قابل تغییر است. می توان از این عدد استفاده نکنید چون به

نوشته تبدیل تصویر خاکستری به Index | آموزش دستور gray2ind اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

تبدیل تصویر خاکستری به Index | آموزش دستور gray2ind

تبدیل تصویر خاکستری به Index

توسط این دستور تصویری Intensity را می توان به تصویر از نوع Index تبدیل کرد.

به مثال زیر توجه کنید.

عدد n میزان روشنایی تصویر را تنظیم می کند و بین ۱ تا ۶۵۵۳۵ قابل تغییر است.

می توان از این عدد استفاده نکنید چون به صورت پیش فرض مقدار ۶۴ را دارد.

 

>> X = imread ( ‘G:\ pic.jpg ‘ ) ;
>> X2 = rgb2gray ( X ) ;
>> X3 = gray2ind ( X2 ) ;
>> imshow ( X2 )

هدف:
تصویر سیاه و سفید یا باینری را به تصویر نمایه شده (ایندکس شده) تبدیل می کند.

نحوه استفاده:

تصویر سیاه و سفید I را به تصویر نمایه X تبدیل می کند. n سایز colormap را در (gray(n مشخص می کند.

[X,map]=gray2ind(I,n)

 

۲٫تصویر دودویی BW را به تصویر نمایه X تبدیل می کند. n سایز colormap را در (gray(n مشخص می کند

[X,map]=gray2ind(Bw,n)

 

مثال:

آموزش دستور gray2ind

این دستور تصویر سطح خاکستری رو به یک تصویر index شده تبدیل میکند.

همونطور که در کدهای زیر هم میبینید، این دستور دو تا ورودی داره که یکیش تصویر ورودی هست که باید یا تصویر سطح خاکستری باشه و یا اینکه تصویر سیاه سفید باشه.

ورودی دوم هم اندازه colormap یا همون تعداد سطوح رنگی رو نشون میده.

مثلا ببینید وقتی که مقدار n رو از عدد ۴ به عدد ۱۶ تغییر میدیم چه اتفاقی میفته…

تعداد سطوح خاکستری بیشتر میشه و بنابراین تصویر index شده هم به تصویر اصلی نزدیک‌تر میشه.

I = imread('cameraman.tif');
n = 4;
[X, map] = gray2ind(I, n);
imshow(X, map);

 

تصویر سمت راست: تصویری با چهار ایندکس، تصویر سمت چپ: تصویری با شانزده ایندکس.

آموزش دستور gray2ind

منبعhttps://www.mathworks.com/help/images/ref/gray2ind.html

نوشته تبدیل تصویر خاکستری به Index | آموزش دستور gray2ind اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/gray2ind/feed/ 0
تبدیل تصویر RGB به Index  | https://imageyar.ir/rgb2ind/ https://imageyar.ir/rgb2ind/#respond Wed, 21 Aug 2019 06:25:18 +0000 http://imageyar.ir/?p=202 وب سایت الگوریتم های تکاملی www.takamoli.ir

تبدیل تصویر RGB به Index تبدیل تصویر RGB به Index توسط این دستور تصویری RGB را می توان به تصویر از نوع Index تبدیل کرد. به مثال زیر توجه کنید. برای ساخت صحیح این نوع از تصویر حتمی به ماتریس map می باشد. ماتریس map اعدادی بین ۰ تا ۱ را با ۴ رقم اعشار

نوشته تبدیل تصویر RGB به Index  | اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

تبدیل تصویر RGB به Index

تبدیل تصویر RGB به Index

تبدیل تصویر RGB به Index

توسط این دستور تصویری RGB را می توان به تصویر از نوع Index تبدیل کرد.

به مثال زیر توجه کنید.

برای ساخت صحیح این نوع از تصویر حتمی به ماتریس map می باشد.

ماتریس map اعدادی بین ۰ تا ۱ را با ۴ رقم اعشار تولید می کند.

این ماتریس در حقیقت ماتریس ۳ لایه از رنگ های اصلی قرمز, سبز و آبی می باشد و نمونه ای از رنگ های درون تصویر را در خود ذخیره کرده است و به عنوان جعبه رنگ استفاده می کند.

در صورتی که از این ماتریس استفاده نشود تصویر به صورت غیر رنگی در خواهد آمد.

ماتریس X هم در حقیقت عددی ۱۶ بیتی که نمایانگر یک عدد از ماتریس map می باشد.

مقدار عدد n تعیین کننده دقت و تعداد نمونه برداری از رنگ تصویر می باشد و هر چه بالاتر باشد

( تا عدد ۶۵۵۳۶ ) تصویر از کیفیت رنگ بالاتری برخوردار است.

 

>> P = imread ( ‘G:\ pic.jpg ‘ ) ;
>> imshow ( p )
>> [ X , map ] = rgb2ind ( P , 120 ) ;
>> imshow ( X ,map )

 

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

توسط این دستور تصویر Intensity را می توان به تصویر از نوع باینری تبدیل کرد.

به مثال زیر توجه کنید.

>> X = imread ( ‘G:\ pic.jpg ‘ ) ;
>> N = rgb3gray ( X ) ;
>> imshow ( N )
>> X2 =dither ( N ) ;

>> imshow ( X2 )

در متلب (Matlab)، با دستور rgb2ind(n,map) می توان تصاویر RGB را به تصاویر index تبدیل کرد.

در دستور فوق n نام متغیر حاوی داده های تصویر و map جعبه ابزار رنگ یا colormap دلخواه است. در مثال زیر ابتدا تصویری با نام a را که در مسیر جاری قرار دارد فراخوانی کرده و سپس با دستور colormap جعبه ابزار رنگ copper با رزولوشن صد را انتخاب می کنیم. در ادامه با دستور rgb2ind تصویر اصلی را به تصویر index تبدیل و در نهایت عکس شاخص شده را به همراه تصویر اصلی، توسط دستور subplot و دستور imshow برای مقایسه در کنار هم نمایش می دهیم (می توانید از جعبه ابزارهای رنگ دیگر با رزولوشن دلخواه استفاده کنید):

 

b=imread('a.jpg');

map=colormap(copper(100));

c=rgb2ind(b, map);

subplot(121);imshow(b);

subplot(122);imshow(c)

 

 

منبعhttps://www.mathworks.com/help/matlab/ref/rgb2ind.html

نوشته تبدیل تصویر RGB به Index  | اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/rgb2ind/feed/ 0
مقدار آستانه تصویر در باینری | https://imageyar.ir/graythresh/ https://imageyar.ir/graythresh/#respond Wed, 21 Aug 2019 05:51:14 +0000 http://imageyar.ir/?p=195 وب سایت الگوریتم های تکاملی www.takamoli.ir

مقدار آستانه تصویر در باینری پیدا کردن مقدار آستانه رنگ ( مقدارn ) در تبدیل تصویر به Binary همیشه نمی توان یک تصویر را به خوبی به یک تصویر باینری تبدیل نمود. برای اینکه با تغییر مقدار n در تابع im2bw کیفیت تصویر خروجی تغییر اساسی می کند. برای اینکه بهترین تصویر را از این

نوشته مقدار آستانه تصویر در باینری | اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

مقدار آستانه تصویر در باینری

مقدار آستانه تصویر در باینری

پیدا کردن مقدار آستانه رنگ ( مقدارn ) در تبدیل تصویر به Binary

همیشه نمی توان یک تصویر را به خوبی به یک تصویر باینری تبدیل نمود.

برای اینکه با تغییر مقدار n در تابع im2bw کیفیت تصویر خروجی تغییر اساسی می کند.

برای اینکه بهترین تصویر را از این تابع بدست بیاوریم دستوری است که مقدار n را نسبت به تصویر اصلی به صورت اتوماتیک بدست میاورد و دیگر نیازی به تغییر مقدار n نداریم.

 

Graythresh( pic )

 

تعیین مقدار آستانه

برای تعیین سطح آستانه کلی، در متلب تابعی به نام graythresh است که با استفاده از روش اتسو یک آستانه global برای تصویر تعیین می کند.

level = graythresh(I);

 

حال می توانیم از این آستانه استفاده کنیم و تصویر را به باینری تبدیل کنیم.

این دستور به صورت زیر استفاده شده و در تابع im2bw قرار داده می شود.

در مثال زیر تفاوت استفاده کردن و یا نکردن از این تابع مورد بررسی قرار گرفته است.

تفاوت کاملا قابل احساس است.

 

<< X = imread ( ‘G:\ pic.jpg ‘ ) ;
>> imshow ( X )
>> X2 = im2bw ( X )
>> imshow ( X2 )
>> X3 = im2bw ( X ,graythresh ( X ) )
>> imshow ( X3 )

 

مقدار آستانه تصویر در باینری

منبع

نوشته مقدار آستانه تصویر در باینری | اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/graythresh/feed/ 0
تبدیل تصویر به باینری در متلب | آموزش کار با دستور im2bw https://imageyar.ir/%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%a8%d8%a7%db%8c%d9%86%d8%b1%db%8c-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/ https://imageyar.ir/%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%a8%d8%a7%db%8c%d9%86%d8%b1%db%8c-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/#respond Mon, 19 Aug 2019 07:56:25 +0000 http://imageyar.ir/?p=179 وب سایت الگوریتم های تکاملی www.takamoli.ir

تبدیل تصویر به باینری در متلب تبدیل تصویر خاکستری به باینری با استفاده از روش ترکیب توابع مورفولوژی با تابع imadjust و im2bw مسئله: درتصویر زیر هدف این است که دانه های برنج را از پس زمینه جدا کنیم. ( در واقع قصد داریم تصویر را به باینری تبدیل کنیم ) تبدیل تصویر به باینری

نوشته تبدیل تصویر به باینری در متلب | آموزش کار با دستور im2bw اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

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

تبدیل تصویر خاکستری به باینری با استفاده از روش
ترکیب توابع مورفولوژی با تابع imadjust و im2bw

مسئله: درتصویر زیر هدف این است که دانه های برنج را از پس زمینه جدا کنیم.

( در واقع قصد داریم تصویر را به باینری تبدیل کنیم )

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

استراتژی اول

در تولباکس متلب تابع im2bw برای تبدیل تصویر خاکستری به باینری وجود دارد.
لذابرای برای تصویر فوق می توانیم از این تابع استفاده کنیم.

 

BW=im2bw(img,level);

 

Img: تصویر ورودی
Level: سطح آستانه
BW: تصویر خروجی باینری

برای تبدیل تصویر به باینری نیاز است که یک آستانه ای(level) تعریف کنیم تا تابع im2bw،

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

راه حل: برای تعیین سطح آستانه کلی، در متلب تابعی به نام graythresh است که با استفاده از روش اتسو یک آستانه global برای تصویر تعیین می کند.

 

level = graythresh(I);

 

حال می توانیم از این آستانه استفاده کنیم و تصویر را به باینری تبدیل کنیم.

ابتدا تصویر را با استفاده از imread می خوانیم.
و سپس به تصویر باینری تبدیل می کنیم.

کد متلب:

clc,
clear,
close all,
I = imread(‘rice.png’);
imshow(I)
level = graythresh(I);
bw = im2bw(I,level);
figure
imshow(bw)

تصویر باینری حاصل:

همانطور که ملاحظه میکنید تصویر به باینری تبدیل شده است.

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

استراتژی ۲

قبل از تبدیل تصویر، باید پیش پردازشی روی تصویر انجام دهیم تا تصویر شدت روشنایی مطلوبی برای تبدیل به باینری را داشته باشد.
همانطور که ذکر کردیم پس زمنیه تصویر در قسمتهای بالایی و مرکز تصویر روشن تر از سمت پایینی است.

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

یادمان باشد که ما از آستانه کلی استفاده کرده ایم و این آستانه در همه جا یکسان عمل می کند و این باعث می شود که قسمتهای پایینی به شکل مطلوبی به باینری تبدیل نشوند!
روش های مختلفی است که می توانیم تصویر را به شکل مطلوب به باینری تبدیل کنیم، که اینجا ما از روش ساده و سریع استفاده خواهیم کرد.
از روشهای دیگه می توان تعیین سطح آستانه بصورت محلی(local) را ذکر کرد.

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

با استفاده از کد زیر پس زمینه تصویر یکنواخت می شود.

ابتدا پس زمینه تصویر را با استفاده از توابع مورفولوژی تقریب می زنیم و سپس از تصویر اصلی کم می کنیم.

کد متلب:

str=strel(‘disk’,۱۵);
background=imerode(I,str);

I2 = I – background;
imshow(I2)

 

تصویر خروجی

با اینکه پس زمینه تصویر یکنواخت شد ولی تصویر شدت روشنایی مناسبی ندارد.
لذا با استفاده از تابع imadjust شدت روشنایی تصویر را بهبود می دهیم.
• قبلا نحوه استفاده از این تابع توضیح داده شده است.

کد متلب برا بهبود تصویر:

I3 = imadjust(I2);figure
imshow(I3);


 

تصویر خروجی:

حال تابع im2bw را به تصویر اعمال می کنیم.
تصویر خروجی:

تصویر به خوبی به باینری تبدیل شده است.
ولی اگر دقت کنید یک دو تا نقطه سفید کوچک نیز در تصویر مشاهده می شود!
باید این نقاط حذف شوند تا در پردازش های بعدی در نیتجه تاثیری نداشته باشند
در تولباکس توابع مورفولوژی متلب، تابعی به نام bwareaopen برای حذفobjectهای کوچک باینری وجود دارد.

نحوه استفاده :

BW2 = bwareaopen(BW,P);

Bw: تصویر باینری ورودی
BW2: تصویر باینری خروجی
P: تعداد پیکسل
این تابع تمام objectهایی که تعداد پیکسل کمتری از p داشته باشند را حذف می کند.P را ما ۱۰ در نظر می گیریم.
کد متلب:

 

bw = bwareaopen(bw, 10);
figure
imshow(bw)

 

تصویر باینری نهایی

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

با استفاده از دستور im2bw در متلب، می توانیم یک عکس که هر پیکسل آن می تواند دارای مقادیر دلخواهی باشد را به یک عکس باینری (binary) که پیکسل های آن، تنها دارای مقدار ۰ یا ۱ هستند، تبدیل کنیم.
به مثال زیر توجه کنید :
مثال خود نرم افزار متلب :

clear all
close all
clc

load trees
BW = im2bw(X,map,0.4);
imshow(X,map)
figure
imshow(BW)


 

با دستور load ، اطلاعات مربوط به یک عکس که در نرم افزار متلب ذخیره شده است

(جزء اطلاعات داخلی خود متلب) را به درون workspace آورده ایم تا پردازش های بعدی را بر روی آن انجام دهیم.

دستور imshow برای نمایش یک عکس به کار می رود.

دستور figure باعث می شود که عکس دوم، در یک پنجره جدید نمایش داده شود.
در دستور im2bw ، باید یک حد آستانه (threshold) تعیین شود تا بدانید که مقادیر عکس اولیه را چگونه در دو گروه قرار دهید (تبدیل به ۰ یا ۱).

ما مقدار ۰٫۴ را برای آن انتخاب کرده ایم. نتیجه :
عکس اولیه :

عکس باینری (پیکسل ها تنها دارای مقادیر ۰ و ۱(

اگر مقادیر عناصر موجود در ماتریس BW را بررسی کنید، مشاهده می کنید که تنها برابر ۰ یا ۱ می باشند.

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

منبع

نوشته تبدیل تصویر به باینری در متلب | آموزش کار با دستور im2bw اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d8%aa%d8%b5%d9%88%db%8c%d8%b1-%d8%a8%d8%a7%db%8c%d9%86%d8%b1%db%8c-%d8%af%d8%b1-%d9%85%d8%aa%d9%84%d8%a8/feed/ 0
تصاویر چند فریمی در متلب | نمایش فریم | جدا کردن فریم https://imageyar.ir/chandframe/ https://imageyar.ir/chandframe/#respond Mon, 19 Aug 2019 07:03:47 +0000 http://imageyar.ir/?p=171 وب سایت الگوریتم های تکاملی www.takamoli.ir

تصاویر چند فریمی در متلب نمایش تصاویر چند فریمی تصاویری که در واقع به صورت یک انیمیشن تشکیل شده از چند تصویر می باشند و مانند تصاویر با فرمت پسوند HDF و TIFF تصاویر چند فریمی گویند. در این گونه تصاویر یا نیاز است که تنها یکی از فریم ها را نمایش دهیم و یا

نوشته تصاویر چند فریمی در متلب | نمایش فریم | جدا کردن فریم اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

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

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

نمایش تصاویر چند فریمی

تصاویری که در واقع به صورت یک انیمیشن تشکیل شده از چند تصویر می باشند

و مانند تصاویر با فرمت پسوند HDF و TIFF تصاویر چند فریمی گویند.

در این گونه تصاویر یا نیاز است که تنها یکی از فریم ها را نمایش دهیم و یا تمامی فریم ها را تک تک نمایش داده و یا حتی به صورت پشت سر هم تصاویر را به نمایش گذاریم .

یکی از کاربردهای گسترده این نوع تصاویر در سیستم های پزشکی مانند تصاویر دستگاه های MRI و تصاویر بررسی تشکیل مواد و غیره می باشد.

 

A = imread ( ‘ نام فایل و مسیر جاری تصویر ‘ , X شماره فریم ) ;

جدا کردن  فریم تصویر

جدا کردن فریم X ام از تصویری که در مسیر جاری ذخیره شده قراردادن آن در متغیر A حال می توان فریم جدا شده با دستور imshow به نمایش در آورید.

مثال: فریم دوم تصویر به نمایش در می آید.

این تصویر ۵ فریمی در cd موجود می باشد.

<< P = imread ( ‘G:\f.tif ‘ , ۲ ) ;
>> imshow ( P )

نمایش فریم ها در یک تصویر یا ماتریس

 

( .... و تصویر دوم, تصویر اول, بعد تصویر) A = cat

 

توسط این دستور شما قادر خواهید بود که تمام تصاویر موجود در یک تصویر چند فریمی را یکجا و در یک تصویر ببینید و یا اینکه چند تصویر جدا را به یکدیگر متصل کرده و یک تصویر و ماتریس به نمایش در آورید.

بعد تصویر می تواند ۱ یا ۲ یا ۳ و یا ۴ بعدی باشد.

با این دستور هر تعداد تصویر را می توان در یک آرایه قرار داد.

به مثال زیر توجه کنید.

در بعد های ۱و ۲ تصاویر نمایش داده شده است:

 

>> p1 = imread ( ‘G:\f.tif ‘ , ۱ ) 
>> p2 = imread ( ‘G:\f.tif ‘ , ۲ )
>> p3 = imread ( ‘G:\f.tif ‘ , ۳ )
>> p4 = imread ( ‘G:\f.tif ‘ , ۴ )
>> p5 = imread ( ‘G:\f.tif ‘ , ۵ )
>> pout = cat ( ‘G:\1 , p1 , p2 ,p3 , p4 , p5 ) ;
>> imshow ( pout )
>> pout = cat ( 2 , p1 , p2 , p3 , p4 , p5 ) ;
>> imshow ( pout )

 

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

نوشته تصاویر چند فریمی در متلب | نمایش فریم | جدا کردن فریم اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/chandframe/feed/ 0
نمایش تصویر در متلب | آموزش دستور imshow https://imageyar.ir/imshow/ https://imageyar.ir/imshow/#respond Sun, 18 Aug 2019 08:22:51 +0000 http://imageyar.ir/?p=158 وب سایت الگوریتم های تکاملی www.takamoli.ir

نمایش تصویر در متلب | آموزش دستور imshow نمایش تصویر فراخوانی شده با ابزار ویرایش از دستور imshow میتوانیم  برای نمایش تصویر در متلب استفاده کنیم imshow( pic ) بعد از دستور فراخوانی تصویر شما می توانید برای دیدن تصویر در محیط نرم افزار از این دستور استفاده نمایید. البته ابزاری برای ترسیم و نوشتن متون در

نوشته نمایش تصویر در متلب | آموزش دستور imshow اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

نمایش تصویر در متلب | آموزش دستور imshow

نمایش تصویر در متلب

نمایش تصویر فراخوانی شده با ابزار ویرایش

از دستور imshow میتوانیم  برای نمایش تصویر در متلب استفاده کنیم

imshow( pic )

بعد از دستور فراخوانی تصویر شما می توانید برای دیدن تصویر در محیط نرم افزار از این دستور استفاده نمایید.

البته ابزاری برای ترسیم و نوشتن متون در این پنجره وجود دارد.

این دستور متغیر pic که در آن تصویر ذخیره شده است را نمایش می دهد.
نکته: فراموش نکنید که نرم افزار Matlab به حروف بزرگ و کوچک حساس است.

 

در مثال زیر، ابتدا یک عکس را می خوانیم و سپس آن را نمایش می دهیم:

moon = imread('moon.tif');
imshow(moon);

نتیجه اجرای دستور فوق شبیه به شکل زیر می باشد

آموزش دستور imshow

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

imtool( pic )

 

این دستور هم مانند دستور قبل تصویر مورد نظر شما را نمایش تصویر دو پنجره دیگر هم باز می شود که امکاناتی نظیر دیدن رنگ های RGB هر پیکسل را به شما نشان خواهد داد

( Pixel Regiol ). در آن پنجره یکی از امکانات بسیار مناسب استفاده از خط کش برای اندازه گیری می باشد.

این دستور متغیر Pic که در آن تصویر ذخیره شده است را نمایش می دهد.
مثال:

P = imread ( ‘G:\ wallpapers \ a.jpg  )
>>imtool ( p )

 

نمایش هر نوع اطلاعاتی در پنجره های نمایشی

اگر نیاز داشته باشید که در هر پنجره نمایشی مانند نمایش بردارها و کل در پنجره های figure متنی یا عددی و یا مقدار متغیری را قرار دهید از این تابع استفاده کنید.

برای نمایش متون کافی است متن مورد نظر خود را در علامت ‘ ‘ قرار دهید.

برای نمایش اعداد باید از دستور num2str استفاده نمایید تا مقادیر به رشته تبدیل شود.

نکته: اگر از چند مقدار و متن برای نمایش می خواهید استفاده نمایید هر کدام را با علامت کاما جدا کرده و همگی را در علامت دراکت [ ] قرار دهید.

 

<<  p = imread ( `G:\ wallpaper \ a.jpg`  )
>> X = 23
>> imshow ( p ) ; title ( [ ` image processing ` , numm2str ( x ) ] )

 

منبع

نوشته نمایش تصویر در متلب | آموزش دستور imshow اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/imshow/feed/ 0
اطلاعات تصویر در متلب : مشاهده اطلاعات تصویر در matlab با ذستور imfinfo https://imageyar.ir/imfinfo/ https://imageyar.ir/imfinfo/#respond Sun, 18 Aug 2019 07:24:07 +0000 http://imageyar.ir/?p=152 وب سایت الگوریتم های تکاملی www.takamoli.ir

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

نوشته اطلاعات تصویر در متلب : مشاهده اطلاعات تصویر در matlab با ذستور imfinfo اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

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

 

در ادامه بر بررسی نحوه استخراج اطلاعات تصویر در matlab می پردازیم و نحوه کار با دستور iminfo را با مثال تشریح میکنیم.

 

دریافت اطلاعاتی کامل از یک تصویر

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

مثال :

>> imfinfo ( ‘k:\fasle 4\ a.jpg’ )

با استفاده از دستور imfinfo در متلب، می توانیم اطلاعات و مشخصات مربوط به یک تصویر را مشاهده کنیم.

این اطلاعات عبارتند از :

  • نام فایل تصویر

  • زمان ساخت فایل تصویر

  • نوع فایل تصویر

  • عرض تصویر

  • طول تصویر و … .

مشاهده اطلاعات تصویر در متلب با ذستور imfinfo

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

clear all
close all
clc
 
imfinfo('image.jpg')

 

نتیجه این دستور

 

ans = 
 
           Filename: 'C:\Users\ali\Desktop\image.jpg'
        FileModDate: '05-Apr-2013 22:49:51'
           FileSize: 62837
             Format: 'jpg'
      FormatVersion: ''
              Width: 482
             Height: 599
           BitDepth: 24
          ColorType: 'truecolor'
    FormatSignature: ''
    NumberOfSamples: 3
       CodingMethod: 'Huffman'
      CodingProcess: 'Sequential'
            Comment: {}

در محیط متلب (Matlab)، اطلاعات تصویر یا عکس یا هر فایل گرافیکی که در مسیر جاری قرار دارد را می توان توسط دستور imfinfo(‘name.type’) بدست آورد.

 

این اطلاعات شامل نام name، حجم Size، فرمت format، تاریخ ویرایش modified date، پهنا width، طول height، رنگ بندی color type، فشرده سازی compression، جعبه رنگ color map، رزولوشن افقی xresolution، رزولوشن عمودی yresolution، جهت گیری orientation و … می شوند.

 

 

منبع

نوشته اطلاعات تصویر در متلب : مشاهده اطلاعات تصویر در matlab با ذستور imfinfo اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/imfinfo/feed/ 0
خواندن تصویر در متلب | آموزش دستور imread https://imageyar.ir/imread/ https://imageyar.ir/imread/#comments Sun, 18 Aug 2019 07:11:12 +0000 http://imageyar.ir/?p=142 وب سایت الگوریتم های تکاملی www.takamoli.ir

خواندن تصویر در متلب ورود تصویر به نرم افزار Matlab همان طور که در فصل قبل گفته شد نرم افزار Matlab تمامی تصاویر را به صورت ماتریس شناسایی می شود. اولین دستور مورد نیاز در این زمینه دستور توسط نرم افزار است.   A=imread(‘ نام فایل و مسیر جاری تصویر ‘ ) ; فراخوانی تصویر

نوشته خواندن تصویر در متلب | آموزش دستور imread اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
وب سایت الگوریتم های تکاملی www.takamoli.ir

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

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

ورود تصویر به نرم افزار Matlab

همان طور که در فصل قبل گفته شد نرم افزار Matlab تمامی تصاویر را به صورت ماتریس شناسایی می شود.

اولین دستور مورد نیاز در این زمینه دستور توسط نرم افزار است.

 

A=imread(‘ نام فایل و مسیر جاری تصویر ‘ ) ;

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

توسط این دستور تصویر مورد نظر شما که در مسیر جاری ذخیره شده است را فراخوانی کرده و در متغیر A و به صورت یک ماتریس ذخیره می کند.

بهتر است که در پایان دستور از علامت ( ; ) استفاده شود چون نرم افزار می خواهد بعد از زدن کلید Enter مقدار قرار گرفته در متغیر را نمایش دهد و این متغیر آرایه های بسیار زیادی دارد و زمان را از دست خواهید داد و میزان درگیری cpu را افزایش می دهید.

به مثال زیر توجه نمایید.

 

p =imread( ‘G:\a.jpg’ ) ;

 

نکته: در صورتی که تصویر را در جایی که برنامه ذخیره شده است قرار دهید دیگر نیازی به نوشتن مسیر جاری نخواهد بود و نام و پسوند آن تصویر کفایت می کند.

 

نمایش تصویر در متلب

برای نمایش تصویر در یک فیگور، نام متغیری که تصویر در آن ذخیره شده یا آدرس تصویر را داخل تابع imshow قرار می دهیم:

 

imshow('C:\Users\mohammad\Desktop\2.png')

imshow(img)

 

ذخیره تصویر در متلب

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

برای این کار کافی است آدرس و نام متغیری را که می خواهیم ذخیره کنیم در تابع imwrite وارد کنیم:

imwrite(آدرس محل ذخیره,نام متغیر)

 

imwrite(img,'C:\Users\mohammad\Desktop\image1.jpg)

 

دستور بالا متغیر img را در دسکتاپ با نام image1.jpg ذخیره می کند این نام کاملا اختیاری است فقط باید در انتخاب فرمت تصویر دقت کنید.

تصاویر با استفاده از تابع imread در محیط MATLAB خوانده می شود.

نحوه استفاده از این تابع به صورت زیر است:

 

mread('filename')l<<

تابع imread نام فایل را به عنوان ورودی دریافت می کند.

به عنوان مثال شما می توانید از imread به صورت زیر روی خط فرمان استفاده کنید:

f= imread('chestxray.jpg')| <<

 

به این ترتیب تصویر chestxray با فرمت JPEG از روی دیسک خوانده شده در f ذخیره می شود. توجه شود که برای سازمان دهی نام فایل در قالب یک رشته از علامت ‘ استفاده شده است. استفاده از علامت سمی کولون ; در پایان دستورات MATLAB سبب می شود تا نتایج حاصل از اجرای دستور روی خط فرمان نمایش داده نشود.

همچنین سمبل << نشان دهنده ابتدای خط فرمان می باشد.
زمانیکه در imread مسیر فایل مشخص نشود (مانند دستور بالا) imread سعی می کند فایل مربوطه را از فهرست جاری MATLAB بخواند و در صورت نا موفق بودن به سراغ مسیرهای جستجوی MATLAB می رود.

ساده ترین راه برای خواندن یک تصویر تعیین مسیر کامل آن در دستور imread به صورت زیر می باشد:

f= imread('D:\myimages\chestxray.jpg') l

 

این دستورتصویر مربوطه از پوشه myimage از درایو D می خواند. همچنین دستور:

f=imread('.\myimages\chestxray.jpg')

 

تصویر را از پوشه myimage از فهرست کاری جاری می خواند.

 

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

منبع

نوشته خواندن تصویر در متلب | آموزش دستور imread اولین بار در وب سایت تخصصی پردازش تصویر پدیدار شد.

]]>
https://imageyar.ir/imread/feed/ 1