0
<< предыдущая заметкаследующая заметка >>
12 января 2012
Создание листинга кода на PHP эмулирование слуха и зрения и их функций

.....Слух......
Основных функций слуха три:
1)Ориентирование в пространстве.
2)Распознавание звуков и перевод их в асоциативные слова (например капля упала)
3)Распознавание речи.

Начнём со второй функции.Для этого нам нужны таблица связей между написанием слова и его обшего признака.Под общим признаком я имею ввиду такую строку которая опознаёт этот звук вне зависмости от громкости этого звука,направления и шумов.
Для этого сначала нужно привести звук в среднюю громкость и использовать систему интервалов.

error_reporting(E_PARSE|E_ERROR|E_CORE_ERROR|E_COMPILE_ERROR|E_USER_ERROR);
$звук='0123456543456765434567887654456';//Звук который пришёл с уха.
/*
Как видно это очень упрощённый звук,ведь в нём всего 10 уровней громкости а не 256 или 65536
И этот звук идёт волной
*/

//Наша база данных звуков//
$действие['упала_капля']['низ'] ='0123456543456765434567887654456';
$действие['упала_капля']['верх']='0123457543456765434667887655556';

$действие['взлетела_птица']['низ'] ='4345677876544560123455543456765';
$действие['взлетела_птица']['верх']='4346679876555560123457543456765';
//Сам код
$сумма=0;
$нужный_уровень_громкости=5;
//Собирает сумму чисел всего ряда
for ($i=1;$звук[$i]; $i++) {
$сумма=$сумма+$звук[$i];
}
$ср_арифм=round($сумма/strlen($звук));//Средний уровень громкости
for ($i = 1; $звук[$i]; $i++) {
$звук[$i]=$звук[$i]*$нужный_уровень_громкости/$ср_арифм;
}
foreach($действие as $k=>$v)
{
$g=0;
for ($i = 1; $звук[$i]; $i++) {
if($v['низ'][$i]<=$звук[$i] and $v['верх'][$i]>=$звук[$i])
{
$g++;
}
else
{
break;
}
}
if((strlen($звук)-1)==$g)
{
$действие_которое_происходит_сейчас=$k;
break;
}
}

echo $действие_которое_происходит_сейчас;
?>

Мне удалось создать код с нужной функциональностью но пока он не учитывает сдвиг в буфере из которого берётся код и статистику,но скорее всего это не пригодиться,в принципе тут идёт простое сравнивание.
.....Зрение......
По аналогии,основные функции зрения:
1)Ориентирование в пространстве
2)Распознование текста
3)Распознование 2-d цветных плоскостей
4)Распознование 3-d цветных образов
//На входе массив содержащий изображение шириной в три пикселей и длиной в три пикселей.На каждый пиксель приходиться по //три байта- один на красный,второй на зелёный,третий на голубой — вообщем RGB .Всего 27 позиций:
//(опять же сила цвета от одного до десяти)
$ф[1][1]['r']=5;
$ф[1][1]['g']=5;
$ф[1][1]['b']=5;
$ф[1][2]['r']=5;
$ф[1][2]['g']=5;
$ф[1][2]['b']=5;
$ф[1][3]['r']=5;
$ф[1][3]['g']=5;
$ф[1][3]['b']=5;

$ф[2][1]['r']=5;
$ф[2][1]['g']=5;
$ф[2][1]['b']=5;
$ф[2][2]['r']=5;
$ф[2][2]['g']=5;
$ф[2][2]['b']=5;
$ф[2][3]['r']=5;
$ф[2][3]['g']=5;
$ф[2][3]['b']=5;

$ф[3][1]['r']=5;
$ф[3][1]['g']=5;
$ф[3][1]['b']=5;
$ф[3][2]['r']=5;
$ф[3][2]['g']=5;
$ф[3][2]['b']=5;
$ф[3][3]['r']=5;
$ф[3][3]['g']=5;
$ф[3][3]['b']=5;

///База данных///
/*
В этом случае для базы данных нам нужно сформировать модель не зависящую от многих преобразований,
таких как поворот,уменьшение и увеличение,освещённость,сдвиг,шум.Можно в принципе просто сделать сотни вариантов этого
изображений этого предмета и уже их поочерёдно или параллельно сравнивать с исходным,но это не выход.
Освещённость можно опять же использовать среднеарифметическое преобразование.
Для шума нам надо ввести статистику и пределы
Для сдвига по оси X и Y нужен перебор вариантов
Для уменьшения и увеличения нужен опять же перебор размеров
Для поворота опять же перебор углов поворота.
Это в случае прямого сравнивания,однако такая система будет
*/
$п['паровоз']=
$п['солнце']=

<< предыдущая заметка следующая заметка >>
Оставить комментарий