![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
ох. перерыла интернет весь. третий день пошел. начиталась что надо и не надо. вообще поставили задачу в универе: выбираем первый цветочек. тыкаем по image (нарисовали). потом выбираем другой. так же тыкаем. потом выбираем бабочку и нажимаем на копку. в общем все что до кнопки у меня реализовано..а вот дальше надо чтоб распознавалось где цветочки и бабочки сели на цветы только одного вида. ну вот кусок кода до кнопки..помогите пожалуйста..я вообще не умею работать с графикой...
как бы много в интернете сайтов по поводу распознания в маленькой области допустим 16х16 пикселей одного объекта. потом сравнивается вес и вуаля распозналось...а тут несколько объектов на поле. даже не представляю как их отслеживать..и как бобочки на них садиться будут...я в печали...если можно поподробнее Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
X1,Y1 : Integer;
bmp : tbitmap;
implementation
{$R *.dfm}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
form1.Canvas.Draw(X,Y,bmp);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
bmp := tbitmap.Create;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
bmp.LoadFromFile('1.bmp'); /// ромашка
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
bmp.LoadFromFile('2.bmp'); /// василек
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
bmp.LoadFromFile('бабочка.bmp'); //вот тут должно быть много кода
end;
end.Последний раз редактировалось Palenka, 23.02.2010 в 08:46. |
|
#2
|
||||
|
||||
|
постучи мне в аську 418018483, когда то давно что-то на подобии делал такое
|
|
#3
|
||||
|
||||
|
Да не надо ничего распознавать. Бросаете на форму TStringGrid - это у вас будет поле для цветочков. Далее при выборе нового цветка кладем его в свободную ячейку грида. У TStringGrid есть свойство Objects[Col,Row] которое позволит хранить всю необходимую информацию о цветочке и вот значение этого поля и нужно будет использовать для анализа содержимого ячейки.
|
|
#4
|
||||
|
||||
|
именно надо. тема искуственный интелект, машинное зрение. я знаю что можно по разному сделать. но надо именно распознать
|
|
#5
|
||||
|
||||
|
ох ёп, на шо я подписался
![]() |
|
#6
|
||||
|
||||
намана намана. еще кто хочет подписаться? |
|
#7
|
|||
|
|||
|
Картинки можно хранить в ПНГ с альфаканалом, проблем с наложением не будет. Поиск тоже не проблема, в прикрепленном файле пример кода для поиска одного изображения на другом. FindImg.rar
|
|
#8
|
|||
|
|||
|
Стучи: 456421885. Я на ИИ специализируюсь - помогу.
|
|
#9
|
||||
|
||||
|
Распознование изображений-образов? Сорри, но это достаточно сложная и трудоёмкая тема, можно сделать, но за денюжку..
|
|
#10
|
||||
|
||||
|
ох..за деньги желающих много
Последний раз редактировалось Palenka, 07.03.2010 в 09:23. |
|
#11
|
|||
|
|||
|
x128,
Хорошая программка! А можно комментарии? Хочу узнать как работает... |
|
#12
|
|||
|
|||
|
Petr0vi4,
там комментировать особо нечего, обычный перебор, если есть конкретные вопросы, спрашивай, постараюсь ответить. |
|
#13
|
||||
|
||||
|
блин ну двое откликнулись и на этом закончилось. спасители мои, куда вы пропали?
|
|
#14
|
|||
|
|||
|
Не знаю насколько это Вам подходит, но можно сравнивать по шаблону, напр. используя нейронные сети. Для Вашего случая реализация будет не сложная. В сети много примеров по распознаванию текста, основанные на этом методе. Применительно для Вашего случая переделывать немного. Так что дерзайте, если что - спрашивайте.
|
|
#15
|
|||
|
|||
|
Кстати для выявления областей интереса можно пройтись простой маской (ищите оператор Собеля, Робертса, Превита). Если область рисования одноцветная, то вообще проблемы не вижу.
|