موضوعات وبسایت : تبلیغات
سوالات ICDL
آموزش امنیت اینستاگرام

تبدیل rgb به hsi در متلب

تبدیل rgb به hsi در متلب

نویسنده : سمانه KZ | زمان انتشار : 23 تیر 1398 ساعت 11:03

آموزش امنیت اینستاگرام
سوالات ICDL

ژانویه 26, 2018 , admin , پیغام بگذارید

تبدیل تصاویر RGB به HSI که در سه مرحله صورت می گیرد بصورت زیر است :

1-خواندن تصویر مربوطه

2-نمایش تصویر RGB در سه مد رنگی تشکیل دهنده اصلی R -G -B

3-محاسبه مقدار HUE بر اساس مقادیر RGB بر اساس فرمول یزر

convert-rgb2hsi.jpg

MATLAB CODE:

Read a RGB Image

A=imread(‘peppers.png’);

figure,imshow(A);title(‘RGB Image’);

rgbimage-373x250.jpg

%Represent the RGB image in [0 1] range

I=double(A)/255;

R=I(:,:,1);

G=I(:,:,2);

B=I(:,:,3);

%Hue

numi=1/2*((R-G)+(R-B));

denom=((R-G).^2+((R-B).*(G-B))).^0.5;

%To avoid divide by zero exception add a small number in the denominator

H=acosd(numi./(denom+0.000001));

%If B>G then H= 360-Theta

H(B>G)=360-H(B>G);

%Normalize to the range [0 1]

H=H/360;

%Saturation

S=1- (3./(sum(I,3)+0.000001)).*min(I,[],3);

%Intensity

I=sum(I,3)./3;

%HSI

HSI=zeros(size(A));

HSI(:,:,1)=H;

HSI(:,:,2)=S;

HSI(:,:,3)=I;

figure,imshow(HSI);title(‘HSI Image’);

hsiimage-373x250.jpg

شرح عملیات فوق بصورت زیر است

1-خواندن تصویر اصلی

2-اجزای تصاویر RGB که در محدوده 255 قابل نمایش هست با تبدیل به بازه 0/1 خواهید رسید

3- ارزش تتا را پیدا کنید. اگر B <= G سپس H = theta. اگر B> G سپس H = 360 تتا

4- از تابع ‘acosd’ برای یافتن کوزینوی معکوس استفاده کنید و نتیجه را در درجه ای بدست آورید.
5- مولفه رنگ را با 360 تقسیم کنید تا در محدوده [0 1] نشان داده شود
6- به طور مشابه، اشباع و اجزای شدت را پیدا کنید.
7- تصویر را نشان می دهد

آیا این مطلب برای شما مفید بود؟




ارسال نظر

نام


ایمیل


نظر