Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблемка

8.6K
11 октября 2004 года
Frenzy
6 / / 11.10.2004
Здравствуйте.
У меня такая проблема.
Подскажите мне, как в Delphi 7.0 сделать следующее:
1. Есть видеофайл, мне надо какие то позиции из этого видеофайла переписать в файл .jpg или другой формат изображения. Т.е. как бы остановить воспроизведение, скопировать то , что на экране, и продолжить воспроизведение.

2. Допустим есть какие-то два изображения очень похожие друг на друга. Отличие, например, в наличии какого объекта(дерева или ещё чего-то). Как можно сравнить эти два файла и пометить на одном из них отличие (допустим выделить контуром дерево или чего-то другое) ?

3. Как можно изменить в видео файле какую-то позицию? Допустим файл состоит из 160 позиций(тобишь фреймов), мне надо с 56-й до 106-й изменить.
8.6K
11 октября 2004 года
Frenzy
6 / / 11.10.2004
или существует библиотечка для работы с видео файлами?
302
12 октября 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by Frenzy
Допустим есть какие-то два изображения очень похожие друг на друга. Отличие, например, в наличии какого объекта(дерева или ещё чего-то). Как можно сравнить эти два файла и пометить на одном из них отличие (допустим выделить контуром дерево или чего-то другое)?


Допустим, ты прочитал эти два файла в два объекта TBitmap, b1 и b2. Для упрощения алгоритма, предположим, что высота и ширина обоих картинок совпадает, и что черный цвет (код 0) на картинках не встречается, и мы его будем использовать в качестве цвета контура. Контур будем рисовать на второй картинке b2.

Код:
Var x,y: Integer;
begin
 for y:=1 to b1.Height-2 do
  for x:=1 to b1.Width-2 do
   if (b1.Pixels[y,x]<>0) and (b1.Pixels[y,x]<>b2.Pixels[y,x]) then
   begin
     if b1.Pixels[y-1,x-1]=b2.Pixels[y-1,x-1] then b2.Pixels[y-1,x-1]:=0;
     if b1.Pixels[y-1,x]=b2.Pixels[y-1,x] then b2.Pixels[y-1,x]:=0;
     if b1.Pixels[y-1,x+1]=b2.Pixels[y-1,x+1] then b2.Pixels[y-1,x+1]:=0;
     // Ну и в этом же духе вокруг всего пиксела
     if b1.Pixels[y+1,x+1]=b2.Pixels[y+1,x+1] then b2.Pixels[y+1,x+1]:=0;
   end;
end;
8.6K
13 октября 2004 года
Frenzy
6 / / 11.10.2004
а как на счёт видео то быть? как можно брать кадр (или позицию) из видео файла и редактировать её??
302
14 октября 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by Frenzy
а как на счёт видео то быть? как можно брать кадр (или позицию) из видео файла и редактировать её??


Поковыряй компонент TMediaPlayer, может найдешь, что полезное. Хотя, сохранять картинки в формате jpg он не умеет.

8.6K
15 октября 2004 года
Frenzy
6 / / 11.10.2004
Может кто-то всё таки знает, как можно из видео файла получать кадры в качестве изображения для дальнейшего редактирования?
8.6K
18 октября 2004 года
Frenzy
6 / / 11.10.2004
up
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог