"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)

═рсюЁ ЎтхЄют (т ъюышўхёЄтх ° °Єєъ), эрч√трхь√щ ярышЄЁющ (colormap), ьюцэю юЇюЁьшЄ№ т тшфх ьрЄЁшЎ√ ЁрчьхЁюь m x 3 Єшяр double. ▌Єє ьрЄЁшЎє ёшёЄхьр MATLAB яючтюы хЄ їЁрэшЄ№ (ш фрыхх шёяюы№чютрЄ№) Єюы№ъю т ¤Єюь тшфх. ╠рЄЁшЎє ЎтхЄют ьюцэю яюыєўшЄ№ ЇєэъЎшхщ capture, р ьюцэю ш ёЇюЁьшЁютрЄ№ т Ёхчєы№ЄрЄх т√ўшёыхэшщ шыш яЁ ь√ї яЁшётрштрэшщ. ═ряЁшьхЁ, ьрЄЁшЎр mapl
mapl(l,l) = 0.12; mapl(1,2) = 0.123; mapl(1,3) = 0.987;
mapl(2,1) = 0.456; mapl(2,2) = 0.7; mapl(2,3) = 0.22;
mapl (3,1) = 0.88; mapl(3,2) = 0.19; mapl(3,3) = 0.611;
mapl (4,1) = 0.255; mapl(4,2) = 0.298; mapl(4,3) = 0.128;
mapl(5,1) = 0.01; mapl(5,2) = 0.78; mapl(5,3) = 0.60;
чрфрхЄ эрсюЁ шч я Єш ЎтхЄют. ╩рцфр  ёЄЁюър ёююЄтхЄёЄтєхЄ юфэюьє ЎтхЄє. ▌ыхьхэЄ√ ёЄЁюъш (ёыхтр эряЁртю) чрфр■Є ъЁрёэє■, чхыхэє■ ш ёшэш■ ёюёЄрты ■∙шх ЎтхЄр.
82
├ыртр 2. ┬шчєрышчрЎш  Ёхчєы№ЄрЄют т√ўшёыхэшщ
─рыхх ёЇюЁьшЁєхь ьрЄЁшЎє ъ ї L Єшяр uint8, ърцф√щ ¤ыхьхэЄ ъюЄюЁющ сєфхЄ Ёртхэ юфэюьє шч эюьхЁют (ьшэєё хфшэшЎр) ёЄЁюъ ЄрсышЎ√ ЎтхЄют mapl. ╥ръющ ьрЄЁшЎ√ тьхёЄх ё ьрЄЁшЎхщ ЎтхЄют сєфхЄ фюёЄрЄюўэю, ўЄюс√ яюърчрЄ№ эр ¤ъЁрэх ъюья№■ЄхЁр ьрёёшт яшъёхыют, Єю хёЄ№ яЁюшчтюы№эюх ЁрёЄЁютюх шчюсЁрцхэшх.
═ряЁшьхЁ, ьрЄЁшЎр XI
XI = uint8( [14 13 2/40213])
чрфрхЄ ьрёёшт Єшяр uint8 ЁрчьхЁюь 2x5 яшъёхыют. ▌ЄюЄ ьрёёшт чрэшьрхЄ т ярь Єш 10 срщЄ, р эх 80 срщЄ, ъръ с√ыю с√ т ёыєўрх ьрёёштр Єшяр double. ╤юуырёэю ьрЄЁшЎх XI яхЁт√щ яшъёхы т яхЁтюь Ё фє шьххЄ ЎтхЄ, чрфртрхь√щ тЄюЁющ ёЄЁюъющ ьрЄЁшЎ√ mapl, тЄюЁющ яшъёхы т ¤Єюь цх Ё фє ёююЄтхЄёЄтєхЄ я Єющ ёЄЁюъх ьрЄЁшЎ√ mapl ш Є. ф.
╚Єръ, фы  яЁшьхЁр ь√ тЁєўэє■ ёЇюЁьшЁютрыш ьрЄЁшЎє ЎтхЄют mapl Єшяр double, ёюёЄю ∙є■ шч 5 ёЄЁюъ (чрфрхЄ я Є№ ЎтхЄют), ш ьрЄЁшЎє XI ЁрчьхЁюь 2x5, ЇюЁьшЁє■∙є■ ЁрёЄЁютюх шчюсЁрцхэшх шч 10 яшъёхыют (2 Ё фр яю 5 яшъёхы т ърцфюь). ╫Єюс√ чрёЄртшЄ№ ёшёЄхьє MATLAB юЄюсЁрчшЄ№ т юфэюь шч ётюшї уЁрЇшўхёъшї юъюэ ёЇюЁьшЁютрээє■ эрьш ърЁЄшэє яшъёхыют, т√ч√трхь ЇєэъЎшш image ш colormap:
image( XI ); colormap( mapl );
┬ Ёхчєы№ЄрЄх ёючфрхЄё  уЁрЇшўхёъшщ юс·хъЄ ёшёЄхь√ MATLAB Єшяр image, ъюЄюЁюьє т уЁрЇшўхёъюь юъэх ёююЄтхЄёЄтєхЄ ёыхфє■∙хх ЁрёЄЁютюх шчюсЁрцхэшх (ёь. Ёшё. 2.29).
Хж╗ Fiqure No. 1
?ile_' Edit Window Help 0.5
╨шёєэюъ 2.29
╧юёъюы№ъє ь√ эх єяЁрты хь ЁрчьхЁюь уЁрЇшўхёъюую юъэр ёшёЄхь√ MATLAB, Єю юэю яю ты хЄё  эр ¤ъЁрэх ё эхъюЄюЁ√ь ЁрчьхЁюь, чрфрээ√ь яю єьюыўрэш■. ╥ръ ъръ эр°х шчюсЁрцхэшх ёюёЄюшЄ шч фтєї Ё фют яю 5 яшъёхыют т ърцфюь, р ¤Єю юўхэ№ ьхыъюх шчюсЁрцхэшх (Їшчшўхёъшщ ЁрчьхЁ яшъёхыр ¤ъЁрэр яЁшьхЁэю Ёртхэ 0,2 ьь), Єю MATLAB яю єьюыўрэш■ ьрё°ЄрсшЁєхЄ хую (єтхышўштрхЄ), ўЄюс√ ьюцэю с√ыю Ёрчуы фхЄ№ ¤Єю шчюсЁрцхэшх. ┼ёыш ЄЁхсєхЄё  юЄьхэшЄ№ Єръюх ьрё°ЄрсшЁютрэшх, Єю ёыхфєхЄ  тэю єърчрЄ№ эєцэ√х ЁрчьхЁ√:
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 83
[ m , n ] = size( XI );
figure( 'Units', 'pixels', 'Position', [100 100 n m] );
image(XI ); colormap( mapl ) ;
set (gca/Position',[0 0 1 1]);
╟фхё№ ЁрчьхЁ√ Єшя шчюсЁрцхэш  XI эрт ч√тр■Єё  т ърўхёЄтх Їшчшўхёъюую ЁрчьхЁр ърЁЄшэъш т уЁрЇшўхёъюь юъэх ёшёЄхь√ MATLAB. ─ы  ёыш°ъюь ьрыхэ№ъшї ърЁЄшэюъ яЁш ¤Єюь эшўхую їюЁю°хую эх яюыєўшЄё , юфэръю фы  шчюсЁрцхэшщ уЁрЇшъют ЇєэъЎшщ ¤Єю ъръ Ёрч ёрь√щ яюфїюф ∙шщ трЁшрэЄ, шэрўх ёЁрчє цх сєфєЄ ёшы№э√х шёърцхэш  шёїюфэюую шчюсЁрцхэш . ╧юёыхфэ   шэёЄЁєъЎш  (юяхЁрЄюЁ) шч яЁхфёЄртыхээюую ЇЁруьхэЄр ъюфр чрёЄрты хЄ юс·хъЄ axes чряюыэшЄ№ ёюсющ тёх тэєЄЁхээхх яЁюёЄЁрэёЄтю уЁрЇшўхёъюую юъэр. ▌Єю эєцэю фхырЄ№ т юс чрЄхы№эюь яюЁ фъх фы  шчюсЁрцхэшщ, Ёрэхх ёюїЁрэхээ√ї т ьрёёштрї фрээ√ї ъюьрэфющ capture, Єръ ъръ ¤Єр ъюьрэфр ёюїЁрэ хЄ шэЇюЁьрЎш■ ю тёхї яшъёхырї тэєЄЁхээхщ (ъышхэЄёъющ) юсырёЄш уЁрЇшўхёъюую юъэр ёшёЄхь√ MATLAB.
╫Єюс√ юЄюсЁрчшЄ№ т уЁрЇшўхёъюь юъэх ёшёЄхь√ MATLAB єцх уюЄют√х ърЁЄшэъш, чряшёрээ√х т Їрщырї, эєцэю яЁюўхёЄ№ ёюфхЁцшьюх ¤Єшї Їрщыют ЇєэъЎшхщ imread. ╨рэхх ь√ чряшё√трыш шчюсЁрцхэш  т Їрщы√ ё яюью∙№■ ЇєэъЎшш imwrite. ╥хяхЁ№ шї ьюцэю яЁюўхёЄ№:
[ ╒2, ЄрЁ2 ] = imread( 'myfilel.jpg' )
ш яюърчрЄ№ т уЁрЇшўхёъюь юъэх. ╟рьхЄшь Єюы№ъю, ўЄю Їрщы фюыцхэ с√Є№ т Єхъє∙хь ърЄрыюух ёшёЄхь√ MATLAB, шэрўх хую эєцэю єърчрЄ№ тьхёЄх ё яюыэ√ь яєЄхь ъ эхьє.
╨рёёьюЄЁхээ√х фрээ√х фы  юс·хъЄр image ёюёЄю Є шч фтєї ьрЄЁшЎ, юфэр шч ъюЄюЁ√ї яюёЄЁюўэю чрфрхЄ ЎтхЄр, р тЄюЁр  ётюшьш ¤ыхьхэЄрьш єърч√трхЄ тїюф√ т ЄрсышЎє (ьрЄЁшЎє) ЎтхЄют. ▌ЄюЄ трЁшрэЄ ёЄЁюхэш  юс·хъЄр Єшяр image эрч√трхЄё  сюыхх Єюўэю ъръ indexed image {шэфхъёшЁютрээюх шчюсЁрцхэшх). ┼ёЄ№ ш фЁєующ Єшя юс·хъЄр image - Єръ эрч√трхь√щ truecolor image (ърЁЄшэъш ё юўхэ№ сюы№°шь ъюышўхёЄтюь ЎтхЄют-фю 16 ьшыышюэют). ▌ЄюЄ тЄюЁющ Єшя юс·хъЄют image єёЄЁюхэ яю-фЁєуюьє.
─ы  юс·хъЄют truecolor image ЄрсышЎр ЎтхЄют эх ЄЁхсєхЄё , Єръ ъръ ьрёёшт√ фрээ√ї Єръшї юс·хъЄют эхяюёЁхфёЄтхээю юяЁхфхы ■Є ЎтхЄр. ▌Єш ьрёёшт√ шьх■Є ЁрчьхЁ m x n ї 3, Єю хёЄ№  ты ■Єё  ьрёёштрьш ЁрчьхЁэюёЄш 3. ┬хышўшэ√ m ш я юяЁхфхы ■Є ЁрчьхЁ ърЁЄшэъш эр ¤ъЁрэх (ixn яшъёхыют), р тфюы№ ЄЁхЄ№хую эряЁртыхэш  Ёрёяюырур■Єё  RGB-ёюёЄрты ■∙шх ЎтхЄр ърцфюую яшъёхыр.
╥ЁхїьхЁэ√х ьрёёшт√ фрээ√ї фы  юс·хъЄют truecolor image ьюуєЄ шьхЄ№ Єшя double шыш Єшя uint8. ┬ яхЁтюь ёыєўрх ърцф√щ ¤ыхьхэЄ Єръюую ьрёёштр  ты хЄё  тх∙хёЄтхээ√ь ўшёыюь юЄ 0 фю 1 ш чрэшьрхЄ т ярь Єш ъюья№■ЄхЁр 8 срщЄ, р тю тЄюЁюь ёыєўрх ърцф√щ ¤ыхьхэЄ  ты хЄё  Ўхы√ь ўшёыюь Єшяр uint8 ёю чэрўхэшхь юЄ 0 фю 255 ш чрэшьрхЄ т ярь Єш ъюья№■ЄхЁр 1 срщЄ. ╧юёыхфэшщ ёыєўрщ
84
├ыртр 2. ┬шчєрышчрЎш  Ёхчєы№ЄрЄют т√ўшёыхэшш
яЁхфяюўЄшЄхы№эхх. ╟рфрфшь, ъ яЁшьхЁє, ёыхфє■∙шщ ЄЁхїьхЁэ√щ ьрёёшт Єшяр uint8 фы  шчюсЁрцхэш  truecolor:
xTrue(l,l,l)=uint8(127); xTrue(1,I,2)=uint8(127);
xTrue(l,l,3)=uint8(127)
xTrue(l,2,2)=uint8(12);
xTrue(l,3,l)=uint8(245)
xTrue(l,3,3)=uint8(l) ;
xTrue(2,l,2)=uint8(203).
xTrue(2,2,l)=uint8(100)
xTrue(2,2,3)=uint8(80);
xTrue(l,2,l)=uint8(19);
xTrue(l,2,3)=uint8(255);
xTrue (1,3,2)=uint8 (127);
xTrue(2,l,l)=uint8(6);
xTrue(2,l,3)=uint8(128);
xTrue(2,2,2)=uint8(l);
xTrue(2,3,l)=uint8(60);