Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: снова я - помогите Добавлено: 13.05.04 09:41  

Автор вопроса:  TX | ICQ: 139150044 
привет
я тут пытаюсь написать на vb.net или на vb прогу для распознования граф изображения - не поможете
мне надо так чтобы прога сканировала картинку, которая состоит из 2 цветов - черный и белый - вот белый он пропускает а черный записывает в массив и и сравнивает с бд и потом выдает ответ - вот как мне сделать, чтобы он сканировал, тоесть перебирал цвета
спасибо

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 13.05.04 09:56

Если картинка не очень большая (иначе будет долго), то можно двумя циклами For (один вложенный), просканировать изображение попиксельно, с пом. GetPixel(i, j), где i, j - счетчики циклов...

Ответить

Номер ответа: 2
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #2 Добавлено: 13.05.04 21:03

a esli kartinku/izobrazheni` v svoem sobstvennom format` sdelat`?

togda ved` mozhet  i legche budet(pravda ne znayu chem ,no mozhet byt` i legche;))

Ответить

Номер ответа: 3
Автор ответа:
 TX



ICQ: 139150044 

Вопросов: 9
Ответов: 44
 Профиль | | #3 Добавлено: 17.05.04 08:55

to sne -

а ты не мог бы написать этот самы код  - мне тогды легче будет разобратса

Спасибо

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 17.05.04 13:20

Ну если только примерно это будет выглядеть так:

Private Declare Function GetPixel Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Private Type POINTAPI

x As Long

y As Long

End Type

dim i as long, j as long

dim cArray() as POINTAPI

with picture1

for i=0 to .Width / Screen.TwipsPrePixelX ' ScaleMode в Twip'ы

for j=0 to .Width / Screen.TwipsPrePixelY

if GetPixel(.hdc, i, j) = 0& then ' Работает с пикселами, не твипами (заместо ее можно использовать стандартную VB'шную, но она должна быть медленнее)

redim cArray(LUBound(cArray) + vbNull)

cArray(UBound(cArray)).X = i

cArray(UBound(cArray)).Y = j

end if

next

next

end with

private function LUBound(inArray as POINTAPI) as long

on error resume next

LUBound = &HFFFF

LUBound = UBound(inArray)

end function



Набивал все от руки, не в IDE, так что может где и ошибся...
Это только ход решения, оптимизировать тут и сам знаю много что надо (к прмеру неплохо бы все UBound заменить на переменные), так что не ругаемся...

В итоге все идеально черные точки будут помещены в массив...

Ответить

Номер ответа: 5
Автор ответа:
 TX



ICQ: 139150044 

Вопросов: 9
Ответов: 44
 Профиль | | #5 Добавлено: 18.05.04 12:27

Спасибо - вот  этот код надо писать в кнопу - которая работает как распознователь - я правильно понимаю - если что то не так - поправь меня -

вот появился еще вопрос - как мне распознаный объект сохранит в ворде - например картинку с ним а внизу чтоб было подписано - что этот за объект

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 18.05.04 15:09

Да понял ты вроде правильно, только что ты имеешь в виду сохранить в ворде ? Всмысле что ты там подписывать собрался, координаты ? вот что я не понял...

Ответить

Номер ответа: 7
Автор ответа:
 TX



ICQ: 139150044 

Вопросов: 9
Ответов: 44
 Профиль | | #7 Добавлено: 20.05.04 06:04

Нет, я хочу вот как

допустим прога отсканила изображение, я жму на кнопу  - она его распознала  - я жму сохранить и она скохраняет его в Word и сама внизу подписывает что это за объект

Ответить

Номер ответа: 8
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #8
Добавлено: 20.05.04 09:02
У мя про ЭТО есть пример. на вашем-же сайте.  Называется "Матрица". Там правда не в массив собирается  а на другой форме переисовывается, но вот думаю сможеш понять как она работает,  тем более оптимизирована

Ответить

Номер ответа: 9
Автор ответа:
 TX



ICQ: 139150044 

Вопросов: 9
Ответов: 44
 Профиль | | #9 Добавлено: 20.05.04 13:25
to sne - если получитса - то вышли ее исходник на этот адресс tnt2003@mail.ru

Ответить

Номер ответа: 10
Автор ответа:
 TX



ICQ: 139150044 

Вопросов: 9
Ответов: 44
 Профиль | | #10 Добавлено: 20.05.04 14:44

to sne - можно и не через масив, можно через бд

to ra(millenium) - помоги с сылкой

Ответить

Номер ответа: 11
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #11
Добавлено: 20.05.04 15:46

Я уж тут дальше не стал... как распознать объект - это я себе смутно представляю...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам