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

تبدیل تصویر 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

نظر خود را اینجا بنویسید!

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