Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм распознания символов / 5 сообщений из 5, страница 1 из 1
15.10.2014, 21:50
    #38777998
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм распознания символов
Предположим имеется некая база данных(сканированные рисунки) символов, имеется рисунок символа(или символов) на бумаге. Сканируем рисунок - как выстроить альгоритм чтоб программа нашла в базе подобные(максимально подобные)?

И на чем лучше риализовывать на чистом С++ или .NET(С#)
...
Рейтинг: 0 / 0
15.10.2014, 22:50
    #38778036
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм распознания символов
лучше взять библиотеку компьютерного зрения openCV
и сюда докладывать результаты.
а то, мне тоже надо читать номера машин
...
Рейтинг: 0 / 0
15.10.2014, 23:00
    #38778041
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм распознания символов
скорее всего придется нормировать изображения ( крутить и менять размер картинок),
это означает перемножение изображения на матрицу гомоморфного? преобразования,
а с матрицами в с++ трудности. Придется устанавливать boost или чтото такое.
Так что, раз задаешь такой вопрос лучше сишарп.
Код: plaintext
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.
#include <vector>
#include <iostream>
#include <algorithm>
#include <opencv/highgui.h>
#include <opencv/cv.h>
#include <boost/numeric/ublas/matrix.hpp>
#include <opencv2/nonfree/nonfree.hpp>
using namespace boost::numeric::ublas;

// Homography matrix
cv::Mat H;

// Point of images save in cv::Mat
cv::Mat srcPoints;
cv::Mat disPoints;

std::vector<IplImage*> images;

int globalMaxX, globalMaxY, globalMinX, globalMinY;
// Multiplication width convert to boost::matrix
vector<double> matrixMultiplication(const cv::Mat* H, int x, int y)
{
       matrix<double> m(3,3);  // <----------------------------------------------------------------------
        vector<double> pt(3);

        pt(0) = x; pt(1) = y; pt(2) = 1;

        // if there isn't matrix of homography return original point
        if (H == 0) return pt;

        // Copy to new matrix m
        for (unsigned i = 0; i < m.size1(); ++ i)
                for (unsigned j = 0; j < m.size2(); ++ j)
                        m(i, j) = (*H).at<double>(i, j);
       // Multiplication from boost            
       pt = prod(m, pt);
       // Normalization homogeneous coordinates
       pt = pt/pt(2);
       return pt;
}
...
Рейтинг: 0 / 0
16.10.2014, 06:44
    #38778120
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм распознания символов
автора с матрицами в с++ трудности.
что за трудности поподробнее можно.

Где лучше почитать проданную библиотеку? может хорошие примеры есть в открытом доступе?

Хочется все же попробывать чистый С++ хотя № со счётов пока не сбрасываю.
...
Рейтинг: 0 / 0
16.10.2014, 07:04
    #38778127
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм распознания символов
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм распознания символов / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]