Ответить
1
Распознование изображений на PHP
Отправлено: 27 Дек 2011#1
Собственно в распознавании изображений значение имеет не язык программирования а математи. И именно с ней у меня все очень плохо, так как я жил далеко от школы а в училище нам ее не преподавали. Почитав несколько статей я понял, что ничего не понял.
Для распознавания изображений необходимо строить матрицы и разбирать их по формулам. В придачу, необходимо писать нейронную сеть. Я смотрю на это все как баран на новые ворота, но очень хочу познать этот аспект. В этой теме решил вести обсуждение этого. Если кто-то что-то знает или может подсказать, буду рад.
Для начала, я хотел бы научиться распознавать хоть самые примитивные изображения, так как на данный момент я вообще не могу осознать принцып. Ну а дальше уже усложнять задачи.
Вот что надо подучить в первую очередь:
1. матрицы
2. детерминанты матриц
3. интегралы
4. дискретное вейвлет преобразование с 1-го по 10-ый порядок
http://www.interface.ru/home.asp?artId=20184
Для распознавания изображений необходимо строить матрицы и разбирать их по формулам. В придачу, необходимо писать нейронную сеть. Я смотрю на это все как баран на новые ворота, но очень хочу познать этот аспект. В этой теме решил вести обсуждение этого. Если кто-то что-то знает или может подсказать, буду рад.
Для начала, я хотел бы научиться распознавать хоть самые примитивные изображения, так как на данный момент я вообще не могу осознать принцып. Ну а дальше уже усложнять задачи.
Вот что надо подучить в первую очередь:
1. матрицы
2. детерминанты матриц
3. интегралы
4. дискретное вейвлет преобразование с 1-го по 10-ый порядок
Отредактировано автором 29 Дек 2011
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 28 Дек 2011#2
Drunya, распозновать - это типо текст вытаскивать,или то что на нём проиллюстрировано(животные,люди )?!
Отредактировано автором 28 Дек 2011
Отправлено: 28 Дек 2011#3
lor08, да типа того. Для начало что-то простое хочу сделать, а далее можно хоть лица различать)
Добавлено2011.12.28 13-11
Вот, что надо учить, как сказали умные люди.
1. матрицы
2. детерминанты матриц
3. интегралы
4. дискретное вейвлет преобразование с 1-го по 10-ый порядок
Добавлено2011.12.28 13-11
Вот, что надо учить, как сказали умные люди.
1. матрицы
2. детерминанты матриц
3. интегралы
4. дискретное вейвлет преобразование с 1-го по 10-ый порядок
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 28 Дек 2011#5
lor08, OCR сам по себе и есть "распознование изображений". Я вот как бы над созданием OCR своего и бъюсь)
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 29 Дек 2011#7
новая инфа. почти исчерпывающе и почти нейросеть самообучающаяся)
http://www.interface.ru/home.asp?artId=20184
http://www.interface.ru/home.asp?artId=20184
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 29 Дек 2011#8
По сути есть очень простой алгоритм.
Разбиваешь изображение на пиксели и сравниваешь цвета, затем формируешь текст. Но работает только с самым примитивным 2-3 цветным изображением.
Разбиваешь изображение на пиксели и сравниваешь цвета, затем формируешь текст. Но работает только с самым примитивным 2-3 цветным изображением.
Отправлено: 30 Дек 2011#9
skad0, а разность шрифтов, а обучаемость системы? Грубо говоря, если упростить задачу до бесконечности(2 пикселя и монохромное изображение), то определить какие пиксели закрашены очень просто. Всего 4 варианта. Но когда я говорил "простые изображения" я имел виду не на столько простые. Вот то что в последней ссылке уже более менее приближено к тому что я ищу. Без математики ни как.
Добавлено2011.12.30 01-57
И так, представляю примитивную программу на php по распознанию изображений. Пока только цифр, написанных от руки. Это тестовая программулина, но я выкладываю, может кому будет интересно. В планах создание обучаемой программы, по распознанию любых символов. На днях думаю закончу.
В папке со скриптом должны находится изображения img{1-5}.jpg. В каждом эталонная цифра. Скрипт очень простой, думаю разберетесь)
Добавлено2011.12.30 01-57
И так, представляю примитивную программу на php по распознанию изображений. Пока только цифр, написанных от руки. Это тестовая программулина, но я выкладываю, может кому будет интересно. В планах создание обучаемой программы, по распознанию любых символов. На днях думаю закончу.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php /**
* вычисление индекса пикселя
*/
function getY($x, $y, $img) {
global $imgRes;
$rgb = imagecolorat($img, $x, $y);
$data = imagecolorsforindex($img, $rgb);
$ychanel = floor(0.3 * $data['red']) + floor(0.59 * $data['green']) + floor(0.11 * $data['blue']);
return ($ychanel > 120) ? 0 : 1;
}
/**
* Сравнение образов с исходным изображением
*/
function compare($img) {
global $templates, $sx, $sy;
$index = array();
foreach ($templates as $key => $shape) {
$index[$key] = 0;
for ($y = 1; $y < $sy; $y++) {
for ($x = 1; $x < $sx; $x++) {
if ($shape[$y . $x] != getY($x, $y, $img)) $index[$key]++;
}
}
}
return $index;
}
/**
* Создание образов(подобие обучения)
*/
function getShape($res) {
global $sx, $sy;
$shape = array();
for ($y = 1; $y < $sy; $y++) {
for ($x = 1; $x < $sx; $x++) {
$shape[$y.$x] = getY($x, $y, $res);
}
}
return $shape;
}
// Размеры изображений
$sx = '30';
$sy = '45';
$templates = array();
for ($t = 1; $t <= 5; $t++) {
$res = imagecreatefromjpeg('img' . $t . '.jpg');
$templates[$t] = getShape($res);
}
// Путь к распознаваемому изображению
$inputImgPath = 'img.jpg';
$inputImgRes = imagecreatefromjpeg($inputImgPath);
$result = compare($inputImgRes);
asort($result);
echo 'Вы ввели ' . key($result);?>
В папке со скриптом должны находится изображения img{1-5}.jpg. В каждом эталонная цифра. Скрипт очень простой, думаю разберетесь)
Отредактировано автором 30 Дек 2011
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
1
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 184. Зарегистрированных: 1. Гостей: 183.