Фрилансеры предложат решение вашей задачи уже через несколько минут!

Публикация заказа на фриланс бирже не займет много времени.

12 лет назад
Dmitriy Feduleev
33 года, Россия
14 лет в сервисе
Был онлайн 10 лет назад
12 лет назад

Проект состоит в следующем
Hello we are a company based out of Panama City, Panama with offices in Costa Rica with a deep understanding in image processing, information gathering and basic neural network technologies. We currently have developed over 30 optical character recognition projects with black and white character breakdowns, basic neural nets but we are looking to expand into matlab. We usually gather a set of images like documents, explore the oddest handwritings and character fonts and develop recognition technologies. Our company is looking to integrate this type of technologies into our proprietary web applications which utilize the Linux operating system.

The Ideal programmer for our job would be familiar with C/C++ for the CentOS operating system, sometimes win32/64 and basic linux administration. With at least 2 years of programming experience, a willingness to learn new things and motivated to work quickly. We as a company have already developed over 20 web applications utilizing optical recognition technologies and alot of the source codes are ready for anybody to get familiar with our style of work in a matter of hours, again you must have at least a basic understanding of neural networks and letter manipulation.

We work out of our extranet and our team is very communicative via cell phone and instant messaging during work hours, we are looking to take someone on board who knows how to do all the above tasks and can go above and beyond our expectations we are not looking for someone who does not know how to program with no experience, here is a sample OCR TRAINING CODE in the case...if you can read this code and familiar with it please apply and post your application as this can be a very exciting long term rewarding job

using namespace std;

static bool IsWhite(const TPixel& color)
{


return (color.Red >= 0x90 && color.Green >= 0x90 && color.Blue >= 0x90);
}

void ClearLighterOrEqualPixels(TMyImage* pImage, unsigned char cutoff_color)
{


for (int y=0; yHeight; ++y)


{


for (int x=0; xWidth; ++x)


{


if (pImage->Pixels[x][y]>=cutoff_color)


pImage->Pixels[x][y] = 0xFF;


}


}
}

void BlackenDarkerPixels(TMyImage* pImage, unsigned char cutoff_color)
{


for (int y=0; yHeight; ++y)


{


for (int x=0; xWidth; ++x)


{


if (pImage->Pixels[x][y] pImage->Pixels[x][y] = 0x00;


}


}
}

bool FindImageBounds(TMyImage* pImage, int* r_left, int* r_right,


int* r_top, int* r_bottom)
{


int left = -1;


int right = -1;


int top = -1;


int bottom = -1;


for (int x=0; xWidth && left
-1; x++)


{


for (int y=0; yHeight; y++)


{


if (pImage->Pixels[x][y]!=0xFF)


{


left = x;


break;


}


}


}


for (int x=pImage->Width-1; x>=0 && right
-1; x--)


{


for (int y=0; yHeight; y++)


{


if (pImage->Pixels[x][y]!=0xFF)


{


right = x;


break;


}


}


}


for (int y=0; yHeight && top
-1; y++)


{


for (int x=0; xWidth; x++)


{


if (pImage->Pixels[x][y]!=0xFF)


{


top = y;


break;


}


}


}


for (int y=pImage->Height-1; y>=0 && bottom
-1; y--)


{


for (int x=0; xWidth; x++)


{


if (pImage->Pixels[x][y]!=0xFF)


{


bottom = y;


break;


}


}


}


if (left return false;


*r_left = left;


*r_right = right;


*r_top = top;


*r_bottom = bottom;


return true;
}

static void SearchFromPixelNode(TPixelNode* pCur, TMyImage* pImage,


unsigned char cutoff_color, TPixelNode*& pLast,


int& num_pixels, int& left, int& right, int& top, int& bottom)
{


for (int dir=0; dir {


int x = pCur->X;


int y = pCur->Y;


ProjectLocation(x, y, dir); //alters x and y


if (x=pImage->Width || y=pImage->Height)


continue;


if (pImage->Pixels[x][y] {


TPixelNode* pNew = new TPixelNode(x,y,pImage->Pixels[x][y]);


pLast->pNext = pNew;


pLast = pNew;


pImage->Pixels[x][y]=0xFF;


if (pNew->X left = pNew->X;


if (pNew->X > right)


right = pNew->X;


if (pNew->Y top = pNew->Y;


if (pNew->Y > bottom)


bottom = pNew->Y;


num_pixels++;


}


}
}

bool SplitLetters(TMyImage* pImage, unsigned char cutoff_color,


TWord* pWord)
{


1. ifdef WIN_TIMING


//DWORD function_start_time = GetTickCount();


1. endif


for (int x=0; xWidth; x++)


{


for (int y=0; yHeight; y++)


{


if (pImage->Pixels[x][y] {


1. ifdef WIN_TIMING


//DWORD start_time = GetTickCount();


1. endif


TPixelNode* pFirst = new TPixelNode(x,y,pImage->Pixels[x][y]);


TPixelNode* pCur = pFirst;


TPixelNode* pLast = pFirst;


pImage->Pixels[x][y]=0xFF;


int num_pixels = 1;


int left = pFirst->X;


int right = pFirst->X;


int top = pFirst->Y;


int bottom = pFirst->Y;


while (pCur)


{


SearchFromPixelNode(pCur, pImage, cutoff_color, pLast,


num_pixels, left, right, top, bottom);


pCur = pCur->pNext;


}


TRACE("*********\n");


TRACE("Found %d pixels in letter. Bounds: %d,%d w=%d h=%d\n",


num_pixels, left+pImage->OrigX, top+pImage->OrigY,


right-left+1, bottom-top+1);


we have all the code to work with for a person who is interest and knows how to make ocr's to read complex images please apply asap and there is a signing bonus

thank you,
the management

  1. Прием заявок
  2. Выбор исполнителя
  3. Выполнение заказа
  4. Обмен отзывами

Нет заявок

Другие заказы в категории «Веб-программирование»

Здесь заказчик и фрилансеры могут обсуждать заказ до начала его выполнения.
Фрилансеры могут участвовать в обсуждении только после подачи заявки.
Здесь заказчик будет контролировать выполнение заказа и общаться с исполнителем.
Доступ к этому разделу имеют только заказчик и выбранный исполнитель.
Все материалы этого раздела закрыты от поисковых систем.