powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Нейронные сети
86 сообщений из 86, показаны все 4 страниц
Нейронные сети
    #39529032
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Я хочу начать изучать нейронные сети, и поэтому хотел спросить вас о литературе по этой теме. Я конечно посмотрел кое какое видео по нейросети, небольшое представление имею. Какую бы литературу вы мне посоветовали? В принципе, если книга конкретно не касается Дельфи, но читая, можно составлять свои программы, то тоже очень хорошо, если же есть с примерами по Дельфи это отлично.
И такой небольшой вопрос касательно распознавания изображений: предположим есть небольшой jpg-файл, на котором написано слово или предложение. Причем самым обычным шрифтом, без экзотики. Тяжело ли вообще писать программы (Дельфи), чтобы переводить эту картинку в набранный текст? (ну т.е в плане реализации, я конечно, понимаю, что все зависит от знаний, но на каком этапе обучения можно уже писать такие программы?)
Конечно, я не ради только это задачи собираюсь изучать нейросети)
...
Рейтинг: 0 / 0
Нейронные сети
    #39529058
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если задача распознавать текст, то есть весьма мощная штука - cuneiForm.
https://ru.wikipedia.org/wiki/CuneiForm

Обёртка на Delphi для неё тут:
https://www.winsoft.sk/ocr.htm
...
Рейтинг: 0 / 0
Нейронные сети
    #39529068
Сергей N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зайдите на Хабрахабр. Там много вводного материала, со ссылками на работающие программы, в том числе, в среде Delphi. Внимательно читайте комментарии. Следует сказать, что Delphi не считается подходящей средой для моделирования нейросетей.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529072
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причина?
...
Рейтинг: 0 / 0
Нейронные сети
    #39529076
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonПричина?

Мертвый язык
...
Рейтинг: 0 / 0
Нейронные сети
    #39529078
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiМертвый язык

никто не умеет на нём программировать на таком уровне.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нейронные сети
    #39529102
Сергей N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для автора темы добавлю полезную ссылочку:

https://tproger.ru/digest/learning-neuroweb-all-for-begin/
...
Рейтинг: 0 / 0
Нейронные сети
    #39529106
Сергей N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
makhaon,

Лично для меня основная причина - отсутствие готовых заготовок (включая специализированные библиотеки) для организации типовых нейросетей. Взгляните, например, сюда http://нейронные-сети.рф/. Или Fast Artificial Neural Network Library (libfann) для C. А также осутствие гибких языковых конструкций, пригодных для описания функциональных особенностей нейросетей (Python, R).
...
Рейтинг: 0 / 0
Нейронные сети
    #39529115
под ван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
schimakhaonПричина?

Мертвый язык
Почему все кроме Крюкова знают об этом, но ему не говорят?
...
Рейтинг: 0 / 0
Нейронные сети
    #39529167
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Сергей NЗайдите на Хабрахабр. Там много вводного материала, со ссылками на работающие программы, в том числе, в среде Delphi. Внимательно читайте комментарии. Следует сказать, что Delphi не считается подходящей средой для моделирования нейросетей.

бредятина чистейшей воды
...
Рейтинг: 0 / 0
Нейронные сети
    #39529178
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Твоя программа хоть и с rus.traineddata не смогла разобрать обычный шрифт с форума к примеру, сделанный на вин - принт скрин
...
Рейтинг: 0 / 0
Нейронные сети
    #39529181
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Няшикdefecator,

Твоя программа хоть и с rus.traineddata не смогла разобрать обычный шрифт с форума к примеру, сделанный на вин - принт скрин

потому что ты не умеешь её готовит.
Впрочем, это тебе не SSE, это мозги нужны, чтобы изучить технологию
...
Рейтинг: 0 / 0
Нейронные сети
    #39529182
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смешно, конечно. И про уровень, и про мёртвость и про гибкость.

Посмотрел libfann, ну - месяц, неспешно, и будет клон на Делфи.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529183
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
makhaonСмешно, конечно. И про уровень, и про мёртвость и про гибкость.

Посмотрел libfann, ну - месяц, неспешно, и будет клон на Делфи.

так клон не нужен, есть к нему обёртка на Дельфи
...
Рейтинг: 0 / 0
Нейронные сети
    #39529188
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529232
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Говорить то ты мастак, но когда example с сайта с русским файлом traineddata вывод такое. То я сразу нажимаю удалить навсегда.

...
Рейтинг: 0 / 0
Нейронные сети
    #39529236
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В прочем это похоже выделение картинки работает глючно, мне удалось 1 раз восстановить текст Англиканские с картинки полностью.

Остальные разы вот типа такое было

...
Рейтинг: 0 / 0
Нейронные сети
    #39529242
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonСмешно, конечно. И про уровень, и про мёртвость и про гибкость.

Посмотрел libfann, ну - месяц, неспешно, и будет клон на Делфи.

Про мертвость - это увы не смех, а факт. Меня тоже это не очень радует.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529244
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Няшикdefecator,

Говорить то ты мастак, но когда example с сайта с русским файлом traineddata вывод такое. То я сразу нажимаю удалить навсегда.



потому что, как я тебе уже сказал, ты не умеешь это готовить.

Требования у всех систем OCR - это 600 dpi,
а ещё русские словари для cuneiForm нужно обучать на разные шрифты.

Как сделано это у FineReader
(загляни в папочку, и посмотри, какое количество обученных нейросетей там лежит).

Для cuneiForm сделано это только для Eng.

И, в общем, давай ты не будешь рассуждать о том, чего не знаешь и о чём вообще не в курсе.
Иди затачивай свой SSE
...
Рейтинг: 0 / 0
Нейронные сети
    #39529248
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Ты опять пытаешься выставить свои права, но вообще неудачно.

В этой программе решает - то, как ты выделил на картинке текст.

Вот пруфы



-- 40 попыток




А потом ты втираешь такую дичь. Да на помойку такой хлам. Онлайн сервисы могут разобрать текст вообще в пикселях на 100% а тут такое.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529250
Sarych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для автора темы.
В статьях на сайте, доступно и наглядно описана теория, примеры на Delphi:
https://basegroup.ru/community/articles/math

Для практики, можно использовать FANN - Fast Artificial Neural Network Library:
http://leenissen.dk/fann/wp/language-bindings/
https://en.wikipedia.org/wiki/Fast_Artificial_Neural_Network
https://github.com/libfann/fann
https://sourceforge.net/projects/fann/

FANN for Delphi:
http://sourceforge.net/projects/fann/files/fann/2.1.0beta/fann_delphi_2_0.zip/download
...
Рейтинг: 0 / 0
Нейронные сети
    #39529252
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Няшикdefecator,

Ты опять пытаешься выставить свои права, но вообще неудачно.

В этой программе решает - то, как ты выделил на картинке текст.


Не надо ничего выделять.
И ещё раз, не пытайся рассуждать о том, с чем ты не умеешь работать.
Вот тебе образец с необученным словарём.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529257
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorНе надо ничего выделять.

Ну тогда расскажи, для чего там такое кривое выделением.

И я вообще то давно написал что проблема с кривым выделением.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529259
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
НяшикdefecatorНе надо ничего выделять.

Ну тогда расскажи, для чего там такое кривое выделением.

И я вообще то давно написал что проблема с кривым выделением.

ни о каком кривом выделении не знаю. Возможно, всё дело в тебе.

Библиотеку эту использую уже 2.5 года для оцифровки судебных дел для картотек.
Работает изумительно, если правильно обучить нейросети.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529264
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Нажми на картинку левой кнопкой, и тяни в нижнюю правую сторону. Он выделяет часть картинки
...
Рейтинг: 0 / 0
Нейронные сети
    #39529266
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Няшикdefecator,

Нажми на картинку левой кнопкой, и тяни в нижнюю правую сторону. Он выделяет часть картинки
И что должно быть ?
...
Рейтинг: 0 / 0
Нейронные сети
    #39529270
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Так ты возьми и сделай что я сказал. Появится красное выделение области картинки.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529273
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Няшикdefecator,

Так ты возьми и сделай что я сказал. Появится красное выделение области картинки.

я в своей тестовой программе скрины показываю,
мне начхать на демки с сайта.
Там программеры могли накрутить чего угодно, тем более, что сама распознавалка - отдельно в DLL,
а всё остальное в интерфейсе - это накручено программерами на дельфях.

Распознавалка работает корректно, быстро и качественно, и этого достаточно.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529276
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Скачал исходники и глянул. Он делает снимок по шайпу, и когда нажимаешь мышкой. То он перемещает этот шайп в область нужную

Код: pascal
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.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, Ocr, ExtDlgs, XPMan;

type
  TFormMain = class(TForm)
    Ocr: TOcr;
    OpenPictureDialog: TOpenPictureDialog;
    XPManifest: TXPManifest;
    PanelLeft: TPanel;
    Panel: TPanel;
    Image: TImage;
    ButtonSelectPicture: TButton;
    PanelRight: TPanel;
    Splitter: TSplitter;
    ButtonCancel: TButton;
    ProgressBar: TProgressBar;
    PageControl: TPageControl;
    TabSheetText: TTabSheet;
    MemoText: TMemo;
    TabSheetHtml: TTabSheet;
    MemoHtml: TMemo;
    TabSheetUnlv: TTabSheet;
    MemoUnlv: TMemo;
    TabSheetWords: TTabSheet;
    ScrollBoxWords: TScrollBox;
    ImageWords: TImage;
    TabSheetRegions: TTabSheet;
    ScrollBoxRegions: TScrollBox;
    ImageRegions: TImage;
    TabSheetTextLines: TTabSheet;
    ScrollBoxTextLines: TScrollBox;
    ImageTextLines: TImage;
    TabSheetConnectedComponents: TTabSheet;
    ScrollBoxComponents: TScrollBox;
    ImageComponents: TImage;
    ButtonRecognize: TButton;
    TabSheetParagraphs: TTabSheet;
    ScrollBoxParagraphs: TScrollBox;
    ImageParagraphs: TImage;
    Shape: TShape;
    procedure ButtonSelectPictureClick(Sender: TObject);
    procedure ButtonRecognizeClick(Sender: TObject);
    procedure ButtonCancelClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure OcrProgress(Sender: TObject; var Cancel: Boolean; Progress,
      WordCount: Integer);
    procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ImageMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure ImageMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure PanelResize(Sender: TObject);
  private
    { Private declarations }
    CancelRequest: Boolean;
    Selecting: Boolean;
  public
    { Public declarations }
  end;

var
  FormMain: TFormMain;

implementation

{$R *.dfm}

uses Jpeg
{$ifdef CONDITIONALEXPRESSIONS}
  {$if CompilerVersion >= 30} // Delphi 10
    , GIFImg, PngImage
  {$ifend}
{$endif}
;

procedure TFormMain.ButtonSelectPictureClick(Sender: TObject);
begin
  with OpenPictureDialog do
    if Execute then
    begin
      Shape.Width := 0;
      Shape.Height := 0;
      ProgressBar.Position := 0;
      MemoText.Clear;
      MemoHtml.Clear;
      MemoUnlv.Clear;
      ImageWords.Picture := nil;
      ImageRegions.Picture := nil;
      ImageTextLines.Picture := nil;
      ImageComponents.Picture := nil;
      ImageParagraphs.Picture := nil;
      
      try
        Image.Picture.LoadFromFile(FileName);
        Ocr.Picture.Assign(Image.Picture);
      except
        Image.Picture := nil;
        ShowMessage('Preview of this image cannot be displayed. Click Recognize button to start OCR.');
        Ocr.PictureFileName := FileName;
      end;

      if not Ocr.Active then
      begin
        Ocr.DataPath := ExtractFilePath(Application.ExeName);
        Ocr.Active := True;
      end;
      ButtonRecognize.Enabled := True;
      Image.Cursor := crCross;
    end
end;

function RectToImageRect(Image: TImage; Rect: TRect): TRect;
var
  w, h, cw, ch: Integer;
  xyaspect: Double;
  DrawRect: TRect;
  Temp: Integer;
begin
  w := Image.Picture.Width;
  h := Image.Picture.Height;
  cw := Image.ClientWidth;
  ch := Image.ClientHeight;
  if Image.Stretch or (Image.Proportional and ((w > cw) or (h > ch))) then
  begin
    if Image.Proportional and (w > 0) and (h > 0) then
    begin
      xyaspect := w / h;
      if w > h then
      begin
        w := cw;
        h := Trunc(cw / xyaspect);
        if h > ch then
        begin
          h := ch;
          w := Trunc(ch * xyaspect);
        end;
      end
      else
      begin
        h := ch;
        w := Trunc(ch * xyaspect);
        if w > cw then
        begin
          w := cw;
          h := Trunc(cw / xyaspect);
        end;
      end;
    end
    else
    begin
      w := cw;
      h := ch;
    end;
  end;

  with DrawRect do
  begin
    Left := 0;
    Top := 0;
    Right := w;
    Bottom := h;
  end;

  if Image.Center then
    OffsetRect(DrawRect, (cw - w) div 2, (ch - h) div 2);

  if Rect.Left > Rect.Right then
  begin
    // swap
    Temp := Rect.Left;
    Rect.Left := Rect.Right;
    Rect.Right := Temp;
  end;

  if Rect.Top > Rect.Bottom then
  begin
    // swap
    Temp := Rect.Top;
    Rect.Top := Rect.Bottom;
    Rect.Bottom := Temp;
  end;

  Result.Left := Trunc((Rect.Left - DrawRect.Left) * (Image.Picture.Width / w));
  Result.Top := Trunc((Rect.Top - DrawRect.Top) * (Image.Picture.Height / h));
  Result.Right := Trunc(Result.Left + (Rect.Right - Rect.Left) * (Image.Picture.Width / w));
  Result.Bottom := Trunc(Result.Top + (Rect.Bottom - Rect.Top) * (Image.Picture.Height / h));

  if Result.Left < 0 then
    Result.Left := 0
  else if Result.Left >= Image.Picture.Width then
    Result.Left := Image.Picture.Width - 1;

  if Result.Top < 0 then
    Result.Top := 0
  else if Result.Top >= Image.Picture.Height then
    Result.Top := Image.Picture.Height - 1;

  if Result.Right < 0 then
    Result.Right := 0
  else if Result.Right >= Image.Picture.Width then
    Result.Left := Image.Picture.Width - 1;

  if Result.Bottom < 0 then
    Result.Bottom := 0
  else if Result.Bottom >= Image.Picture.Height then
    Result.Bottom := Image.Picture.Height - 1;
end;

function RectToShapeRect(UseShape: Boolean; Rect, ShapeRect: TRect): TRect;
begin
  Result := Rect;
  if UseShape then
  begin
    Inc(Result.Left, ShapeRect.Left);
    Inc(Result.Top, ShapeRect.Top);
    Inc(Result.Right, ShapeRect.Left);
    Inc(Result.Bottom, ShapeRect.Top);
  end;
end;

procedure TFormMain.ButtonRecognizeClick(Sender: TObject);
var
  i: Integer;
  UseShape: Boolean;
  ShapeRect: TRect;
begin
  try
    ProgressBar.Position := 0;
    CancelRequest := False;
    ButtonSelectPicture.Enabled := False;
    ButtonCancel.Visible := True;
    MemoText.Clear;
    MemoHtml.Clear;
    MemoUnlv.Clear;
    ImageWords.Picture := nil;
    ImageRegions.Picture := nil;
    ImageTextLines.Picture := nil;
    ImageComponents.Picture := nil;
    ImageParagraphs.Picture := nil;

    UseShape := (Shape.Width <> 0) and (Shape.Height <> 0);
    if UseShape then
    begin
      ShapeRect := RectToImageRect(Image, Shape.BoundsRect);
      Ocr.PictureLeft := ShapeRect.Left;
      Ocr.PictureTop := ShapeRect.Top;
      Ocr.PictureWidth := ShapeRect.Right - ShapeRect.Left;
      Ocr.PictureHeight := ShapeRect.Bottom - ShapeRect.Top;
    end
    else
    begin
      Ocr.PictureLeft := 0;
      Ocr.PictureTop := 0;
      Ocr.PictureWidth := 0;
      Ocr.PictureHeight := 0;
    end;

    Repaint;
    if not CancelRequest then
      MemoText.Text := StringReplace(Ocr.Text, #$a, #$d#$a, [rfReplaceAll]);
    if not CancelRequest then
      MemoHtml.Text := StringReplace(Ocr.GetHtmlText, #$a, #$d#$a, [rfReplaceAll]);
    if not CancelRequest then
      MemoUnlv.Text := StringReplace(Ocr.Unlv, #$a, #$d#$a, [rfReplaceAll]);

    if not CancelRequest then
      ProgressBar.Position := 100
    else
      ProgressBar.Position := 0;

    if not CancelRequest then
      if Image.Picture <> nil then
      begin
        ImageWords.Picture.Bitmap.Assign(Image.Picture.Graphic);
        ImageWords.Picture.Bitmap.PixelFormat := pf32bit;
        ImageWords.Canvas.Brush.Color := TColor($007FFF);
        for i := 0 to Ocr.WordCount - 1 do
          ImageWords.Canvas.FrameRect(RectToShapeRect(UseShape, Ocr.Words[i], ShapeRect));

        ImageRegions.Picture.Bitmap.Assign(Image.Picture.Graphic);
        ImageRegions.Picture.Bitmap.PixelFormat := pf32bit;
        ImageRegions.Canvas.Brush.Color := TColor($7F00FF);
        for i := 0 to Ocr.RegionCount - 1 do
          ImageRegions.Canvas.FrameRect(RectToShapeRect(UseShape, Ocr.Regions[i], ShapeRect));

        ImageTextLines.Picture.Bitmap.Assign(Image.Picture.Graphic);
        ImageTextLines.Picture.Bitmap.PixelFormat := pf32bit;
        ImageTextLines.Canvas.Brush.Color := TColor($00FF7F);
        for i := 0 to Ocr.TextLineCount - 1 do
          ImageTextLines.Canvas.FrameRect(RectToShapeRect(UseShape, Ocr.TextLines[i], ShapeRect));

        ImageComponents.Picture.Bitmap.Assign(Image.Picture.Graphic);
        ImageComponents.Picture.Bitmap.PixelFormat := pf32bit;
        ImageComponents.Canvas.Brush.Color := TColor($FF7F00);
        for i := 0 to Ocr.ConnectedComponentCount - 1 do
          ImageComponents.Canvas.FrameRect(RectToShapeRect(UseShape, Ocr.ConnectedComponents[i], ShapeRect));

        ImageParagraphs.Picture.Bitmap.Assign(Image.Picture.Graphic);
        ImageParagraphs.Picture.Bitmap.PixelFormat := pf32bit;
        ImageParagraphs.Canvas.Brush.Color := TColor($7FFF00);
        for i := 0 to Ocr.ParagraphCount - 1 do
          ImageParagraphs.Canvas.FrameRect(Ocr.Paragraphs[i].Location);
      end;
  finally
    ButtonCancel.Visible := False;
    ButtonSelectPicture.Enabled := True;
  end;
end;

procedure TFormMain.ButtonCancelClick(Sender: TObject);
begin
  CancelRequest := True;
end;

procedure TFormMain.FormCreate(Sender: TObject);
begin
  ShowMessage('OCR recognition can be slow when application is started from Delphi IDE.');
end;

procedure TFormMain.OcrProgress(Sender: TObject; var Cancel: Boolean;
  Progress, WordCount: Integer);
begin
  ProgressBar.Position := Progress;
  Application.ProcessMessages; // so we are able to click Cancel button
  Cancel := CancelRequest;
end;

procedure TFormMain.ImageMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Ocr.Active then
    if Button = mbLeft then
    begin
      Selecting := True;
      Shape.Left := X;
      Shape.Top := Y;
      Shape.Width := 0;
      Shape.Height := 0;
    end;
end;

procedure TFormMain.ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if Selecting then
  begin
    Shape.Width := X - Shape.Left;
    Shape.Height := Y - Shape.Top;
  end;
end;

procedure TFormMain.ImageMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Selecting then
  begin
    Selecting := False;
    Shape.Width := X - Shape.Left;
    Shape.Height := Y - Shape.Top;
    Repaint;
  end;
end;

procedure TFormMain.PanelResize(Sender: TObject);
begin
  Shape.Width := 0;
  Shape.Height := 0;
end;

end.



А когда надо, режим изображения в этой области
Код: pascal
1.
  ShapeRect := RectToImageRect(Image, Shape.BoundsRect);



По умолчанию, это вся область картинки
...
Рейтинг: 0 / 0
Нейронные сети
    #39529280
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ну и что ?
...
Рейтинг: 0 / 0
Нейронные сети
    #39529291
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заглянул сюда случайно, увидев вопрос в общем списке тем. Delphi давно не существует, если кто не заметил.

Damir_85Я хочу начать изучать нейронные сети, и поэтому хотел спросить вас о литературе по этой теме.

Значит, заодно придётся изучить Python. Большая часть литературы по нейронным сетям (теперь методика называется deep learning) и вообще по машинному обучению - с примерами на Python (в том числе новые книги на русском языке), и большая часть готовых библиотек предназначены для Python-а или имеют интерфейсы для обращения из Python-а. На втором месте - R, тоже неплохо обеспечен литературой и библиотеками. Но это, в отличие от Python и Delphi, специализированный язык для задач математической статистики.
Для темы машинного обучения глубокое знание Python-а не требуется, но заодно поизучаете то, чем сейчас можно заменить Delphi.

Ответы про распознавание текста вызваны тем, что их автор не понял вопроса.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529311
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот вариант на delphi https://github.com/Steema/BI
...
Рейтинг: 0 / 0
Нейронные сети
    #39529328
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ziv-2014Вот вариант на delphi https://github.com/Steema/BI

Хоть и лежит на гитхабе, однако исходники там все испорченные.
Только интерфейсные части.

Хотя ещё весной там лежало всё целиком.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529329
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
правильная ссылка на SteeBI со всеми исходниками:
http://www.steebi.com/files/code/beta/vcl_fmx/TeeBI_SourceCode.zip
...
Рейтинг: 0 / 0
Нейронные сети
    #39529587
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MЗаглянул сюда случайно, увидев вопрос в общем списке тем. Delphi давно не существует, если кто не заметил. Вообще ничего не существует. "R", "Python" тоже зачастую не существуют для коммерческого использования из-за особенности лицензионных соглашений многих из их "бесплатных" библиотек.
...
Рейтинг: 0 / 0
Нейронные сети
    #39529730
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПро мертвость - это увы не смех, а факт. Меня тоже это не очень радует.

Идере расскажи, вместе посмеётесь :)

авторDelphi давно не существует, если кто не заметил.

Весь мир - тлен. Ничего вокруг нет :)
...
Рейтинг: 0 / 0
Нейронные сети
    #39529933
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonавторПро мертвость - это увы не смех, а факт. Меня тоже это не очень радует.

Идере расскажи, вместе посмеётесь :)

авторDelphi давно не существует, если кто не заметил.

Весь мир - тлен. Ничего вокруг нет :)

Мы вместе смеемся с 2007 года, если что.

Компиляторы Фортрана и PL/1, представь, до сих пор разрабатывают.
Я понимаю, что тебе грустно, да и мне тоже, но факт есть факт - скоро за упоминание Delphi в приличном обществе будут бить канделябром.
...
Рейтинг: 0 / 0
Нейронные сети
    #39530075
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schi,

Это кто же, мне интересно, составляет это приличное общество?
...
Рейтинг: 0 / 0
Нейронные сети
    #39530188
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schi,

Идера то Сенчу прикупит, то еще что. Наверно, что бы поржать вместе и Игорем :)
...
Рейтинг: 0 / 0
Нейронные сети
    #39530434
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ссылки.
Читая форум, натолкнулся на высказывание что Дельфи - это мертвый язык. Согласен лишь наполовину, потому, что да, действительно сейчас он не очень популярен, даже в объявлениях на работу его практически не встретишь. Но с другой стороны, какая разница на чем написана программа, ведь главное чтобы она работала!
Кстати насчет Python : в последнее время много о нем слышу, скорее всего начну его изучать, т.к. прочитал здесь что под него много библиотек, ну и сравню с Дельфи
...
Рейтинг: 0 / 0
Нейронные сети
    #39530451
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85...какая разница на чем написана программа, ведь главное чтобы она работала...
Разница в том, что языков много, а годные библиотеки есть только для некоторых. Иногда можно использовать чужие библиотеки, но далеко не всегда.
...
Рейтинг: 0 / 0
Нейронные сети
    #39530455
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

Годные библиотеки можно написать, использовать самим и продавать. Мало кто думает терминами бизнеса. Ну тут мало что поделаешь.
...
Рейтинг: 0 / 0
Нейронные сети
    #39530460
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonчччД,

Годные библиотеки можно написать в гараже , использовать самим и продавать. Мало кто думает терминами бизнеса. Ну тут мало что поделаешь.
Поправил. :)
...
Рейтинг: 0 / 0
Нейронные сети
    #39530476
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

Бывает, что уж :)

http://hitech.vesti.ru/article/625961/
...
Рейтинг: 0 / 0
Нейронные сети
    #39534587
Jude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schimakhaonпропущено...


Идере расскажи, вместе посмеётесь :)

пропущено...


Весь мир - тлен. Ничего вокруг нет :)

Мы вместе смеемся с 2007 года, если что.

Компиляторы Фортрана и PL/1, представь, до сих пор разрабатывают.
Я понимаю, что тебе грустно, да и мне тоже, но факт есть факт - скоро за упоминание Delphi в приличном обществе будут бить канделябром.
мне тоже регулярно говорят, что делфи мертв. гдето с 2002го.
при этом ничего не мешало на нем работать .
поменял лыжи где-то в 2014 (12 лет!) = щас опять слышу от "горячих парней" 23х лет отроду , что "делфи мертв!"(с) - недавно вакансию получил на удаленку.
однако да. кто-то на мертвом языке стартанул игрушки под андроид на фаермонкей :)

Зомби, блин, апокалипсис!
...
Рейтинг: 0 / 0
Нейронные сети
    #39544775
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jude,

Язык мертв когда его перестают использовать для новых проектов. А Firemonkey был изначально мертворожденным. А та поддержка которая сейчас существует - исключительно связанна с legacy продуктами которым embarcadero оказывает консалтинг.
Очень трудно отрицать смерть Языка, если его комьюнити с каждым годом только уменьшается.

А вакансии... Вакансии всегда будут.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544784
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откуда вы беретесь то?
...
Рейтинг: 0 / 0
Нейронные сети
    #39544796
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

дельфи тяжёл в использовании, современное поколение не может освоить такой объём информации, а зачёты получать надо
отсюда и срывы.

По комьюнити вообще удивительно, дельфи-форум вроде один из самых живых
...
Рейтинг: 0 / 0
Нейронные сети
    #39544812
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan),

Я не думаю что делфи сложнее любого современного веб-стека(где помимо языка нужно знать и понимать еще кучу технологий) или языков типа Scala, Haskel, Kotlin, Python, etc...
Часто встречаете вакансии типа Junior Delphi Devekoper? А Junior Python Developer? Сомневаюсь что это связанно со "сложностью" Delphi.

Просто отсутствует класс задач, с которыми он(Delphi) бы справлялся лучше конкурентных технологий.

По поводу комьюнити:
Стоит обратиться к открытым источникам: https://insights.stackoverflow.com/survey/2017#technology-programming-languages или http://githut.info/ чтобы понять что его почти нет. А локальный форум - не показатель.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544815
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

дельфи - это ж интербейз. А он никому не нужен.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544816
ДаешьСети!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даешь нейронный сети!
В пику ему:
YouTube Video
...
Рейтинг: 0 / 0
Нейронные сети
    #39544818
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дельфи очень неудобен для работы с базами.

В TTable нужно указывать алиасы BDE баз, а их не видно, пока дельфи на каждое работчее место не поставишь. Это дорого и геморно.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544827
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДДельфи очень неудобен для работы с базами.

В TTable нужно указывать алиасы BDE баз, а их не видно, пока дельфи на каждое работчее место не поставишь. Это дорого и геморно.А еще в дельфи нет виртуальной машины.
Это сразу показывает что язык однозначно не серьезный.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544828
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да о чем говорить, если даже ни одного приличного обфускатора под дельфи до сих пор не написали.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544829
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дельфи есть акцесс виолейшн и Батон1.ОнКлиск.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544833
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat,

никто не говорит что он не серьезный. Язык и инструмент хорош. Обкатан годами. Без детских болезней. Но уже давно не актуален.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544834
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimiОбкатан годами. Без детских болезней. Но уже давно не актуален.
Это да, здесь рыбы нет Delphi 7 - он такой.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544835
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat,

Зачем этот сарказм?
...
Рейтинг: 0 / 0
Нейронные сети
    #39544836
авторДельфи очень неудобен для работы с базами.

Ты не просто флудодер ты еще и безгранично глуп!
...
Рейтинг: 0 / 0
Нейронные сети
    #39544837
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimi,

Это я "Обкатан годами" и "Без детских болезней." оценил.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544840
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimiНо уже давно не актуален.

Ась? Я проспал переход на квантовые компьютеры и декларативное программирование?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Нейронные сети
    #39544841
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimirgreat,

Зачем этот сарказм?

МАЛЬЧИК, ПОШЕЛ НА х.й!
На лодочной станции инструктор пытается докричаться до какой-то лодки:
"Поворачивй!!! Куда прешь?!?!?! Левее возьми!!! В сторону!!!"
Ребенок, который за этим наблюдает: "Дядя, возьмите мегафон. У вас же
есть".
Инструктор берет мегафон, поворачивается к ребенку (в мегафон):
"МАЛЬЧИК, ПОШЕЛ НА х.й!"
Убирает мегафон: "Сворачивай!!!! В сторону!!!"
...
Рейтинг: 0 / 0
Нейронные сети
    #39544842
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat,

Ну я готов принять любые аргументы. Которых в этой теме еще не было.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544843
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Так в чем его актуальность? Какие задачи он выполняет лучше его "конкурентов"?
...
Рейтинг: 0 / 0
Нейронные сети
    #39544845
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimiТак в чем его актуальность? Какие задачи он выполняет лучше его "конкурентов"?
Работающие в текущий момент времени
...
Рейтинг: 0 / 0
Нейронные сети
    #39544847
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock,

Есть и машины которые до сих пор работают на 98\XP винде. Но, я надеюсь, никто не называет эти системы актуальными?
...
Рейтинг: 0 / 0
Нейронные сети
    #39544848
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimiDimitry Sibiryakov,

Так в чем его актуальность?Ежегодно выходит пара новых релизов с кучей новых фишек.

Какие задачи он выполняет лучше его "конкурентов"?Разные.

А вообще странный вопрос. Все одно что сравнивать что лучше: испанский или иврит.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544849
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat,

Ну что за ответ такой "Разные"? Просто нет таких задач.

Набросайте тезисно - Новый проект нужно начать на Delphi потому что...
...
Рейтинг: 0 / 0
Нейронные сети
    #39544850
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimiYuRock,

Есть и машины которые до сих пор работают на 98\XP винде. Но, я надеюсь, никто не называет эти системы актуальными?
Конечно называют. Ведь они не просто так работают, а деньги приносят. Лично для меня всё, что мне деньги приносит - актуально.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544851
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimi,

Потому что быстро, качественно и надежно.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544852
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

В Delphi пока переменные не объявишь - их нельзя использовать.
Это ужасно непроизводительно.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544853
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock,

Ну как сказать деньги приносит... Для саппорта устаревшей технологии нужно держать отдельный штат, а это деньги.
Отношение типа "Ну оно работает и ок" - деструктивно и тут сложно споить
...
Рейтинг: 0 / 0
Нейронные сети
    #39544854
kaimi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat,

Так можно о чем угодно сказать. Тут скорее нужно Что то типа "Нужно начать новый проект на Delphi, а не на XXX, потому что..."
...
Рейтинг: 0 / 0
Нейронные сети
    #39544855
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimiДля саппорта устаревшей технологии нужно держать отдельный штат
Ну да. Новым технологиям ведь саппорт не нужен. Об этом я и не подумал.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544856
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimi,

А если серьезно, в чем неактуальность-то заключается? В плане возможностей языка и среды.

Можно по простому, на пальцах, так сказать.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544858
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

в Delphi неудобные гриды, так как чтобы показать записи из разных таблиц, надо гриды вместе ставить на форме, и много. А в FoxPro все делается одной командой BROWSE.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544859
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaimiНабросайте тезисно - Новый проект нужно начать на Delphi потому что...
Тут тезис один: потому, что так я быстрее всего решу задачу. Но это относится ко мне. Что касается тебя, например, то только ты, возможно, можешь ответить такой на вопрос (или сможешь через N лет, или никогда не сможешь).
...
Рейтинг: 0 / 0
Нейронные сети
    #39544861
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДв Delphi неудобные гриды
Та какие гриды. В Delphi даже строки с 1-цы начинаются, что супер-неудобно, учитывая, что в Windows - с нуля.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544862
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

в Delphi-йских гридах даже данных нет. Это хуже, чем MVC.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544866
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockчччДв Delphi неудобные гриды
Та какие гриды. В Delphi даже строки с 1-цы начинаются, что супер-неудобно, учитывая, что в Windows - с нуля.

Да. А еще в дельфи строки ограничены длиной 255.

Код: pascal
1.
2.
3.
4.
5.
  TmyRec = record
    i : integer;
    s : string [256];
  end;
[DCC Error] Unit1.pas(12): E2056 String literals may have at most 255 elements
...
Рейтинг: 0 / 0
Нейронные сети
    #39544869
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДДа. А еще в дельфи строки ограничены длиной 255.

Код: pascal
1.
2.
3.
4.
5.
  TmyRec = record
    i : integer;
    s : string [256];
  end;
[DCC Error] Unit1.pas(12): E2056 String literals may have at most 255 elements

По больному бъешь гад!
...
Рейтинг: 0 / 0
Нейронные сети
    #39544870
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockТа какие гриды. В Delphi даже строки с 1-цы начинаютсяЯ бы не был столь категоричен, учитывая {$ZEROBASEDSTRINGS ON/OFF}. ;)
...
Рейтинг: 0 / 0
Нейронные сети
    #39544871
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatYuRockТа какие гриды. В Delphi даже строки с 1-цы начинаютсяЯ бы не был столь категоричен, учитывая {$ZEROBASEDSTRINGS ON/OFF}. ;)

Это ж только в юникоде, небось. А у большинства Delphi 3 используется.
...
Рейтинг: 0 / 0
Нейронные сети
    #39544874
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДЭто ж только в юникоде, небось. А у большинства Delphi 3 используется.
Богомерзкий win32 новодел.

Тру дельфисты пишут на святой первой версии.

...
Рейтинг: 0 / 0
Нейронные сети
    #39544894
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура! Пятница!
...
Рейтинг: 0 / 0
Нейронные сети
    #39544902
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerУра! Пятница! везёт же людям :-(

или не очень уже....
...
Рейтинг: 0 / 0
86 сообщений из 86, показаны все 4 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Нейронные сети
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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