Кескіндерді өңдеудің төменгі деңгейі кескінді дұрыстау үшін және адам
мен компьютер оны тануы үшін сақталған кескінге тікелей әсер етеді.
Кескіндерді бұлай өңдеу көптеген облыстарда, соның ішінде, медициналық
диагностикада, ішкі істердегі бармақ ізін тануда, өндірістік өнімдердегі
ақауларды табу үшін және киноиндустрияда қолданылады. Басында кескін
камераға түсіріліп, цифрлық түрде сақталынады. Сақталға кескін екіөлшемді
пиксельдер массивінен тұрады. Кескін монохромды деп алып, сұр түсті
пиксельдерге хабарлама жібереді. Кескін түсі әрқайсысы үш қарапайым түстің
реңі болып табылатын үш мәнді (қызыл, жасыл, көк) қолданады.
Біз сақталған кескін сол жақ жоғары бұрыштан басталтын қарапайым
координаталар жүйесін қолданады деп болжаймыз. Кескін пиксельдері екі
өлшемді массивте сақталады да, оның элементтерін p[i][j] деп белгілеп аламыз
және әрбір пиксельдің интенсивтілігі берілген массивтен табылады.
Өңдеудің төменгі деңгейі әрбір пиксельдің мәнін кескінді қандай да бір
тәсілмен модификациялау үшін қолданылады. Көп жағдайда мұндай амалдар
параллель орындалады.
Кей кездері пиксельдер идентификацияланатын тік сызықтар немесе
қисықтармен ассоцияцияланады. Идентификацияның ең тиімді тәсілі Hough
түрлендіруін қолдану. Hough түрлендіруі пиксель координаталарын сызық
теңдеуіне жақын тәуелділік теңдеуін анықтау үшін қолданылады.
Есептерге қойылатын талаптар.
Әректтің басында өңдеудің төменгі деңгейінде параллель өңдеуді
қолданудың маңыздылығын айта кеткен жөн. Айталық, кескін 1024×1024
пиксельден тұрады делік, мүндай пиксельдер картасымен және пиксельге 8
битпен сақтау өте өажет.
Ең критикалық фактор – есептеу жылдамдығы. Айталық, әрқайсысы тек
бір рет қана өңделеді делік. Онда тек қаңқасының өзіне ғана 2
10
операциялар
қажет. Қазіргі кезде барлық компьютерлер мүндай әрекет жасай алмайды.
Нақты уақыт режимінде қосымшалар үшін есептеу шамамен секундына 60-85
каркас болуы керек. Чиптерді сигналды өңдейтін арнайы аппараттық
қамсыздандыру ойлап табылды. Бірақ мұндай жүйелер параллель
компьютерлер сияқты икемді емес.
Теңдеуі
Берілген өңдеудің бір деңгейінде қандай да порогты пиксельдер мәні
сақталады, ал оден төмен басқалары 0 мәнін қабылдайды. Мысалыға, х мәнді
пиксель берілсін, онда пиксельге орындалатын амал:
If (x< threshold) x=0; else x=1;
Контрастпен жұмыс
Берілген жағдайда сұр түстің мәндері деңгейінің диапазоны кескіннің
кейбір детальдары көрнсін деп кеңейеді.
Медицинада тіс пен сүйек тканінің көзге көрінбейтін детальдарын табу
үшін рентген кескіндерін қолданады. Бұл жағдайда контраст кеңеймесін сұр
түстің шкаласы бойынша жұмсақ тканнің өлшемін анықтау үшін қолданады.
Сұр түс деңгейін азайту.
Бұл жағдайда сұр түсті ұсынуда қолданылатын биттер саны сақтау
көлемін азайту мақсатында азаяды. Мұндай әрекетті жүзеге асырудың ең
қарапайым тәсілі аз биттер мәнін жуықтау.
Параллель орындалуы.
Айталық бір процессор бір пиксельге тіркелген делік. Тура параллель
орындалу әрбір процессорден бір уақытта орындалып жатқан әрбір
процессорден 9 қадам орындауды талап етер еді. Мұнда барлық хабарлау тек
оқу болғандықтан мәліметтер ену қарама – қайшылығы болмайды. Нүкте
мәндерін орталандырудың параллель нұсқасы төрт қадамнан тұрады:
Қадам1. Әрбір процессор өзінің сол жағындағы пиксельдер санын алып,
мәндерді өзі сақатап жатқан пиксельдер санына қосады.
Қадам 2. Әрбір процессор өзінің оң жағындағы пиксельдер мәнін алады да,
жиналып жатқан сомаға қосады.
Қадам 3. Әрбір процессор төменнен жиналған мәндер жиынын екінші
қадамдағыдан алып тастап, осы мәнді өзінің жиналған мәндеріне қосады. Ол
сонымен қатар, келесі қадам үшін жиналған соманың ағымдағы мәнін сақтап
қалу керек.
Қадам 4.
Әрбір процессор үстінен жиналған мәндер жиынын екінші
қадамдағыдан алып тастап, осы мәнді өзінің жиналған мәндеріне қосады.
Және, ақырында, әрбір процессор жиналған мәндерін ортақ мәнді табу
үшін 9-ға бөледі. Сонда әәрбір процессорда төрт қосу байланысы және бір бөлу
болады.
2.
Кескіндерді өңдеудің Фурье түрлендіруі.
Кескіндерді өңдеу есебінің кең көлемі әртүрлі облыстарда жасалынды.
Дискретті Фурье түрлендіруінің бір қолданылуы тегістеуде де үшкір шеттерді
табуда да қолданылатын фильтрлеу. Фильтрлеу төмендегі екі функцияны
салыстырып есептеу көмегімен жүзеге асырылады:
H(j,k)=G(j,k)xF(j,k)
мұндағы F(j,k) – бұл f(j,k) Фурье функциясының түрлендірілуі, ал G(j,k) – (g(j,k
) Фурье функциясының түрлендірілуі.
(j,k – х
пикселінің координаталары).
Фурьенің дискретті түрлендірілу функциясы:
Х
к
=1/N∑х
j
e
-2π(jk/n)
мұндағы х
i
N пиксельдер мәні, i- комплестік сан.
және Фурьенің кері түрлендіруі
х
к
=1/N∑Х
j
e
-2π(jk/n)
.
Практикада көбіне формуланы 1/N көпмүшесіз қолданады.
Сондықтан, әрі қарай біз бұл көпмшені түсіріп тастаймыз.
w=e
-2πi/N
деп белгілейік.
Сонда формула мына түрде болады:
Х
к
=∑х
j
w
jk)
болады.
Берілген формуланы жүзеге асырудың тізбектелген коды келесі түрде
болады:
For (k=0; k
{ X[k]=0
For (j+0; jX[k]=X[k]+a*X[j];
a=a*pow(w,k);
}
ҚАЗАҚСТАН РЕСПУБЛИКАСЫ
БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
Қ. ЖҰБАНОВ АТЫНДАҒЫ АҚТӨБЕ МЕМЛЕКЕТТІК УНИВЕРСИТЕТІ
Информатика және ЕТ кафедрасы
«Паралельді есептеу» пәні бойынша лабораториялық сабақтарға арналған
ӘДІСТЕМЕЛІК НҰСҚАУ
Күндізгі оқу бөлімі
«Информатика» мамандығының 4-курс студенттері үшін