"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)ъюЄюЁ√х ттюф Єё ё ъыртшрЄєЁ√ т ъюьрэфэюь юъэх, шыш т√яюыэшЄ№ ъюьрэфє ьхэ■ Edit I CopyFigure. ┬ фюъєьхэЄ ЁхфръЄюЁр Microsoft Word шчюсЁрцхэшх тёЄрты -
78 ├ыртр 2. ┬шчєрышчрЎш Ёхчєы№ЄрЄют т√ўшёыхэшщ хЄё ъюьрэфющ хую уыртэюую ьхэ■ Edit | Paste. ─рыхх тьхёЄх ёю тёхь фюъєьхэЄюь ¤Єю шчюсЁрцхэшх ьюцэю сєфхЄ ЁрёяхўрЄрЄ№ эр яЁшэЄхЁх. ╬ўхэ№ трцэюх чрьхўрэшх: яхЁхф ёюїЁрэхэшхь шчюсЁрцхэш т Їрщых шыш т сєЇхЁх юсьхэр Windows юёє∙хёЄтшЄх т Ёрьърї яръхЄр MATLAB эхюсїюфшьюх ьрё°ЄрсшЁютрэшх, Єю хёЄ№ фюсхщЄхё№ эхюсїюфшьюую Їшчшўхёъюую ЁрчьхЁр ърЁЄшэъш. ╧юёых ёюїЁрэхэш шчюсЁрцхэш т ЇюЁьрЄрї ЁрёЄЁютющ уЁрЇшъш фры№эхщ°хх ьрё°ЄрсшЁютрэшх юёє∙хёЄты хЄё ё эхяЁшхьыхь√ьш шёърцхэш ьш. ╚Єръ, ь√ єцх эрєўшышё№ ёюїЁрэ Є№ ЁрёЄЁют√х шчюсЁрцхэш , ёююЄтхЄёЄтє■∙шх уЁрЇшўхёъшь юъэрь ёшёЄхь√ MATLAB, т сєЇхЁх юсьхэр Windows ш т Їрщырї эхъюЄюЁ√ї уЁрЇшўхёъшї ЇюЁьрЄют. ╤є∙хёЄтєхЄ х∙х ЄЁхЄшщ ёяюёюс лчряхўрЄыхЄ№ эр ярь Є№╗ ърЁЄшэъє шч уЁрЇшўхёъюую юъэр. ─ы ¤Єюую фюёЄрЄюўэю т√чтрЄ№ ЇєэъЎш■ capture, ъюЄюЁр яючтюышЄ ёюїЁрэшЄ№ шэЇюЁьрЎш■ ю ЁрёЄЁютющ ърЁЄшэъх шч уЁрЇшўхёъюую юъэр ёшёЄхь√ MATLAB т фтєї ўшёыют√ї ьрёёштрї: [ X, ЄрЁ ] = capture( 1 ); ┬їюфэ√ь ярЁрьхЄЁюь фы ЇєэъЎшш capture ты хЄё эюьхЁ уЁрЇшўхёъюую юъэр. ┬√їюфэ√ьш чэрўхэш ьш фы ЇєэъЎшш capture ты ■Єё ьрЄЁшЎр X, ёююЄтхЄёЄтє■∙р ьрЄЁшЎх яшъёхыют шчюсЁрцхэш (т эхщ ёЄюы№ъю цх Ё фют, ёъюы№ъю яшъёхыют√ї ёЄЁюъ т шчюсЁрцхэшш, ш ёЄюы№ъю цх ёЄюысЎют, - ёъюы№ъю Ёхры№э√ї яшъёхыют√ї ёЄюысЎют), ш ьрЄЁшЎр ЎтхЄют ЄрЁ (ЄЁш ёЄюысЎр т ЇюЁьрЄх RGB), шёяюы№чютрээр фы яюёЄЁюхэш шчюсЁрцхэш . ╧Ёш ¤Єюь ърцф√щ ¤ыхьхэЄ ьрЄЁшЎ√ X Ёртхэ эюьхЁє юфэющ шч ёЄЁюъ ьрЄЁшЎ√ ЄрЁ. ╩рцф√щ ¤ыхьхэЄ ьрЄЁшЎ√ ЎтхЄют ЄрЁ яЁхфёЄрты хЄ ёюсющ яюыюцшЄхы№эюх ўшёыю юЄ 0 фю 1 - юэю їрЁръЄхЁшчєхЄ шэЄхэёштэюёЄ№ ёююЄтхЄёЄтє■∙хщ ёюёЄрты ■∙хщ ЎтхЄр (ъЁрёэющ, чхыхэющ шыш ёшэхщ). ╚Єръ, ¤Єшї фтєї ьрЄЁшЎ фюёЄрЄюўэю фы чряюьшэрэш шэЇюЁьрЎшш ю ЎтхЄрї тёхї яшъёхыют т ЁрёЄЁютюь шчюсЁрцхэшш. ╧Ёхцфх ўхь яЁюфюыцшЄ№ фхЄры№эюх шчєўхэшх ¤Єшї ьрЄЁшЎ, ъЁрЄъю яхЁхўшёышь юёэютэ√х трЁшрэЄ√ шї яЁръЄшўхёъюую шёяюы№чютрэш . ┬ю-яхЁт√ї, Ёрёяюырур ¤Єшьш ьрЄЁшЎрьш, ьюцэю чряшёрЄ№ шчюсЁрцхэшх т JPEG-Їрщы√, єфюсэ√х фы шёяюы№чютрэш т ёЁхфх Internet. ▌Єю фхырхЄё т√чютюь ЇєэъЎшш imwrite: imwrite( X, map, 'MyOwnName.jpg' ); ╟фхё№ ёючфрхЄё ёцрЄ√щ уЁрЇшўхёъшщ Їрщы MyOwnName.jpg, ъюЄюЁ√щ єфюсхэ фы яхЁхфрўш яю ёхЄш Internet ш яЁхфэрчэрўхэ фы яЁюёьюЄЁр т ёЁхфх сЁрєчхЁют Єшяр Microsoft Internet Explorer. ┬ю-тЄюЁ√ї, Ёрёяюырур ьрЄЁшЎрьш X ш ЄрЁ, ьюцэю ышсю ёЁрчє цх тюёёЄрэютшЄ№ шёїюфэюх шчюсЁрцхэшх т Ёрьърї уЁрЇшўхёъюую юъэр ёшёЄхь√ MATLAB, яЁшьхэшт ёыхфє■∙шщ ъюф: colormap( map ); image( X ); ышсю, яЁхфтрЁшЄхы№эю юсЁрсюЄрт шёїюфэюх шчюсЁрцхэшх (яЁюшчтхф т√ўшёыхэш эрф ¤ыхьхэЄрьш яюыєўхээ√ї ЇєэъЎшхщ capture ьрЄЁшЎ), т√тхёЄш т уЁрЇшўхёъюх юъэю ёшёЄхь√ MATLAB єцх эютюх шчюсЁрцхэшх. MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 79 ╬ўхэ№ трцэю яюэшьрЄ№, ўЄю ЇєэъЎш image эх тюёёючфрхЄ тё■ шёїюфэє■ шэЇюЁьрЎш■, їрЁръЄхЁэє■ фы тхъЄюЁэющ уЁрЇшъш. ╬эр ыш°№ ЇюЁьшЁєхЄ ьрёёшт яшъёхыют ё яЁртшы№э√ьш ЎтхЄрьш, ш сюы№°х эшўхую. ╬эр ёючфрхЄ юс·хъЄ ЁрёЄЁютющ уЁрЇшъш яю шьхэш image. ▌ЄюЄ юс·хъЄ ьюцэю ьрё°ЄрсшЁютрЄ№, шчьхэ юс√ўэ√ь юсЁрчюь ЁрчьхЁ√ уЁрЇшўхёъюую юъэр, эю ърЁЄшэър яЁш ¤Єюь сєфхЄ шёърцрЄ№ё . ▌Єю юЄышўшЄхы№эр ўхЁЄр ЁрёЄЁютющ уЁрЇшъш, ш ё ¤Єшь эшўхую эхы№ч яюфхырЄ№. ╥ръютр яЁшЁюфр тх∙хщ. ╥хяхЁ№ яЁюфюыцшь яюфЁюсэюх шчєўхэшх ёЄЁюхэш ьрЄЁшЎ, тючтЁр∙рхь√ї ЇєэъЎшхщ capture ш ты ■∙шїё юёэютющ ЁрёЄЁютющ уЁрЇшъш ёшёЄхь√ MATLAB. ┼∙х Ёрч эряюьэшь, ўЄю яЁюшчтюы№эюх шчюсЁрцхэшх эр ¤ъЁрэх ъюья№■ЄхЁр яЁхфёЄрты хЄ ёюсющ ьрёёшт яшъёхыют, ърцф√щ шч ъюЄюЁ√ї їрЁръЄхЁшчєхЄё ётюшь ЎтхЄюь. ╓тхЄ яшъёхыр юяЁхфхы хЄё ЄЁхь ёюёЄрты ■∙шьш: ъЁрёэ√ь, чхыхэ√ь ш ёшэшь (Red, Green, Blue - RGB). ╩рцфр ёюёЄрты ■∙р ЎтхЄр, ъръ ь√ єцх уютюЁшыш т√°х, ъюфшЁєхЄё тх∙хёЄтхээ√ь ўшёыюь юЄ 0 фю 1. ┬ Ёхчєы№ЄрЄх эр ърцф√щ яшъёхы ЁрёїюфєхЄё яю 8 ї 3 = 24 срщЄр ярь Єш ъюья№■ЄхЁр. ▌Єю юўхэ№ ЁрёЄюўшЄхы№э√щ яю юЄэю°хэш■ ъ ярь Єш ъюья№■ЄхЁр ёяюёюс їЁрэхэш шэЇюЁьрЎшш ю ЁрёЄЁют√ї шчюсЁрцхэш ї. └ эх¤ъюэюьэ√щ Ёрёїюф ярь Єш, т ётю■ юўхЁхф№, ёшы№эю яюэшцрхЄ яЁюшчтюфшЄхы№эюёЄ№ (с√ёЄЁюфхщёЄтшх). ┬ Єю цх тЁхь фы чрфрэш тхышўшэ√ юфэющ ёюёЄрты ■∙хщ ЎтхЄр яшъёхыр фюёЄрЄюўэю 1 срщЄр ярь Єш (8 сшЄ), уфх ьюцэю чряшёрЄ№ Ўхы√х ўшёыр юЄ 0 фю 255 (тёхую 256 чэрўхэшщ). ╩рцфюьє яшъёхыє ¤ъЁрэр т Єръюь ёыєўрх сєфєЄ ёююЄтхЄёЄтютрЄ№ ЄЁш Ўхы√ї ўшёыр т фшрярчюэх юЄ 0 фю 255, ъюЄюЁ√х чрщьєЄ т ярь Єш ъюья№■ЄхЁр тёхую ыш°№ 3 срщЄр ярь Єш. ▌Єю юўхэ№ чэрўшЄхы№эр ¤ъюэюьш ярь Єш ъюья№■ЄхЁр, яю¤Єюьє т ёшёЄхьх MATLAB фы Єръшї Ўхы√ї ўшёхы ёяхЎшры№эю ёючфрэ ёююЄтхЄёЄтє■∙шщ Єшя фрээ√ї, юсючэрўрхь√щ ъръ uint8. ╧юф Єръющ Єшя фрээ√ї юЄтюфшЄё т ярь Єш тёхую 1 срщЄ тьхёЄю 8 срщЄ фы юс√ўэ√ї тх∙хёЄтхээ√ї (фЁюсэ√ї) ўшёхы Єшяр double. ╧ю єьюыўрэш■ ы■сющ яхЁхьхээющ т ёшёЄхьх MATLAB ёЄртшЄё т ёююЄтхЄёЄтшх Єшя double эхчртшёшью юЄ ўшёыют√ї чэрўхэшщ, ъюЄюЁ√х т√ яЁшётрштрхЄх яхЁхьхээ√ь. ═ряЁшьхЁ, т Ёхчєы№ЄрЄх ёЄЁюъш ъюфр iVarl = 128; ёючфрхЄё яхЁхьхээр ё шьхэхь iVarl ш Єшяюь double, ъюЄюЁющ яЁшётрштрхЄё чэрўхэшх 128. ─ы їЁрэхэш Єръюую чэрўхэш фюёЄрЄюўэю 1 срщЄр ярь Єш, юфэръю фы яхЁхьхээющ iVarl Єшяр double юЄтюфшЄё 8 срщЄ ярь Єш (хёЄхёЄтхээю, ь√ чфхё№ уютюЁшь Єюы№ъю ю ёюсёЄтхээю фрээ√ї, Єръ ъръ яюьшью фрээ√ї фы ы■сющ яхЁхьхээющ MATLAB юЄтюфшЄ х∙х ш ярь Є№ яюф тёяюьюурЄхы№эє■ шэЇюЁьрЎш■, эхюсїюфшьє■ фы єяЁртыхэшхь ёЄЁєъЄєЁющ ьрёёштют, р ы■сющ юс·хъЄ т ёшёЄхьх MATLAB т ётюхь тэєЄЁхээхь яЁхфёЄртыхэшш ты хЄё ьрёёштюь). ═рышЎю тэ√щ яхЁхЁрёїюф ярь Єш ъюья№■ЄхЁр. 80 ├ыртр 2. ┬шчєрышчрЎш Ёхчєы№ЄрЄют т√ўшёыхэшщ ╫Єюс√ шчсхцрЄ№ Єръюую яхЁхЁрёїюфр ярь Єш, яхЁхьхээє■ эєцэю тэю юс· ты Є№ ъръ Ўхыє■, шёяюы№чє ьюфшЇшърЄюЁ uint8: iVar2 = uint8( 128 ); iVar2 = iVar2 + 1; яюыєўрхь ёююс∙хэшх юс ю°шсъх ??? Function '+' not defined for variables of class 'uint8'. фюёыютэю ючэрўр■∙хх, ўЄю юяхЁрЎш лёыюцхэшх╗ фы яхЁхьхээ√ї Єшяр uint8 эх юяЁхфхыхэр. ╫Єюс√ єчэрЄ№, ъръющ Єшя шьххЄ Єр шыш шэр яхЁхьхээр шч Ёрсюўхую яЁюёЄЁрэёЄтр ёшёЄхь√ MATLAB, эєцэю ттхёЄш ш т√яюыэшЄ№ ъюьрэфє whos, т Ёхчєы№ЄрЄх ўхую т ъюьрэфэюь юъэх яю тшЄё ёююс∙хэшх, шч ъюЄюЁюую тшфэю, ўЄю iVarl ты хЄё ьрёёштюь ЁрчьхЁр 1x1 (Єю хёЄ№ ЇръЄшўхёъш ёъры Ёюь) Єшяр double ш чрэшьрхЄ т ярь Єш 8 срщЄ, a iVar2 шьххЄ Єшя uint8 ш чрэшьрхЄ т ярь Єш Єюы№ъю 1 срщЄ (т 8 Ёрч ьхэ№°х). ╧Ёш ¤Єюь юсх яхЁхьхээ√х шьх■Є юфшэръют√х чэрўхэш (ёь. Ёшё. 2.28). ─1▀ ├└ d W sgtBff!ft!f!T!T! ITAffl ff^Ч1M^ЧЧ File ?dit Window Help I-IDIXI D & 1 * ╫р ╪ ! " ; t-g i ? ╗ whos Name Size Bytes Class iVarl lxl 8 double array J iVai-2 lxl 1 tiintS array Grand total is 2 elements using 9 byte's л1 1 in ╨шёєэюъ 2.28 ┬юёяюы№чєхьё , эръюэхЎ, Єшяюь фрээ√ї uint8 фы ¤ъюэюьшш ярь Єш ъюья№■ЄхЁр т чрфрўх їЁрэхэш ЁрёЄЁютюую шчюсЁрцхэш . ╠√ єцх чэрхь, ўЄю ёыхфє■∙шщ т√чют ЇєэъЎшш capture: [X,map] = capture (1) ёючфрхЄ ьрЄЁшЎє X ЁрчьхЁюь ■їя, уфх m - ўшёыю Ё фют яшъёхыют т шчюсЁрцхэшш, an- ўшёыю ёЄюысЎют яшъёхыют т эхь. ╬с√ўэю ¤Єю юўхэ№ сюы№°шх ўшёыр, Єръ ўЄю MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 81 ъюышўхёЄтю ¤ыхьхэЄют ьрЄЁшЎ√ X юс√ўэю Ёртэю эхёъюы№ъшь фхё Єърь Є√ё ў ш сюыхх. ╚ьхээю ¤Єє ьрЄЁшЎє ёшёЄхьр MATLAB яючтюы хЄ ъюэтхЁЄшЁютрЄ№ т Єшя uint8: X = uint8 ( X - 1 ); ╥хяхЁ№ ърцф√щ ¤ыхьхэЄ ьрЄЁшЎ√ X чрэшьрхЄ Єюы№ъю 1 срщЄ ярь Єш, ўЄю яЁштюфшЄ ъ тюё№ьшъЁрЄэющ ¤ъюэюьшш ярь Єш ъюья№■ЄхЁр. ═хсюы№°ющ яырЄющ чр Єръє■ ¤ъюэюьш■ ты хЄё ёыхфє■∙р яєЄр■∙р яюы№чютрЄхы фхЄры№: ¤ыхьхэЄ√ ьрЄЁшЎ√ X яю-яЁхцэхьє шьх■Є Ўхыюўшёыхээ√х чэрўхэш , эю ърцфюх чэрўхэшх ЄхяхЁ№ эр хфшэшЎє ьхэ№°х ётюхую яЁхцэхую чэрўхэш (ъюЄюЁюх с√ыю яЁш Єшях double ьрЄЁшЎ√ X). ╥ръшь юсЁрчюь, хёыш т ёыєўрх Єшяр double є ьрЄЁшЎ√ X ърцф√щ хх ¤ыхьхэЄ Ёртхэ эюьхЁє эхъюЄюЁющ ёЄЁюъш ьрЄЁшЎ√ ЎтхЄют ЄрЁ, Єю т ёыєўрх Єшяр uint8 ¤ыхьхэЄ√ ьрЄЁшЎ√ X ты ■Єё ёьх∙хэш ьш ¤Єшї цх ёЄЁюъ юЄ эрўрыр ьрЄЁшЎ√ ЎтхЄют ЄрЁ ш Єхь ёрь√ь юэш фюыцэ√ с√Є№ эр хфшэшЎє ьхэ№°х ётюшї яЁхф√фє∙шї чэрўхэшщ. ─хщёЄтшЄхы№эю, фы яхЁтющ ёЄЁюъш ьрЄЁшЎ√ ЄрЁ хх ёьх∙хэшх юЄ эрўрыр Ёртэю эєы■, тЄюЁр ёЄЁюър шьххЄ ёьх∙хэшх 1 ш Є. ф. ┼∙х Ёрч эряюьэшь, ўЄю Єшя фрээ√ї uint8 яЁхфэрчэрўхэ фы їЁрэхэш шэЇюЁьрЎшш, р эх фы т√ўшёыхэшщ. ┼ёыш ЄЁхсєхЄё яЁюшчтхёЄш эрф шчюсЁрцхэшхь ъръшх-Єю ўшёыхээ√х яЁхюсЁрчютрэш , Єю яхЁхф ¤Єшь ьрЄЁшЎє X Єшяр unit8 эрфю ъюэтхЁЄшЁютрЄ№ т ьрЄЁшЎє Єшяр double X = doublet X ) + 1; яЁюшчтхёЄш т√ўшёыхэш , р чрЄхь ёэютр ьюцэю фы ¤ъюэюьшш ярь Єш яЁхтЁрЄшЄ№ Ёхчєы№ЄрЄ т Єшя uint8. ╩юэтхЁЄрЎш яЁюшчтюфшЄё т юсх ёЄюЁюэ√ ё єўхЄюь ёююЄтхЄёЄтє■∙хую єьхэ№°хэш шыш єтхышўхэш ¤ыхьхэЄют ьрЄЁшЎ√ X эр хфшэшЎє. ╘єэъЎш image яЁшэшьрхЄ т ърўхёЄтх рЁуєьхэЄр юср ¤Єшї Єшяр фрээ√ї ш ЁрсюЄрхЄ ё эшьш рфхътрЄэю. |
|
|