[delphi] obraz z kamery na TImage ;]

Odpowiedz Nowy wątek
2005-09-07 07:48
FT
0

Cześć
Mam kartę telewizyjną AVerMedia na PCMCIA.
Można też "wpuścić" sygnał np. z kamery...
I oto moje pytanie, jak zrobić aby obraz wyświetlał się na np. TImage?
Aby pobierać bezpośrednio z urządzenia obraz wpuszczony z kamery?
Pewnie łatwiej było by zrobić z kamerki internetowej ale ja potrzebuje dobrą jakość, do dalszych eksperymentów. I żeby dało się później wykonać operacje
canvas na obrazku aby pobrać jakiś pixel z obrazu kamery :)
Czy może ktoś zrobił takie cos ;P
Prosze o pomoc

Pozostało 580 znaków

2005-09-07 07:55
0

zainteresuj sie DSPack


Pozdrawiam. Karol

Pozostało 580 znaków

2005-09-07 08:15
FT
0
lofix napisał(a)

zainteresuj sie DSPack

Dzięki że chodź trochę nadziei mi przywróciłeś, bo już myślałem, że to nie możliwe :)
W komponencie TFilter znalazłem takie cuś:
user image
Sądzę że ten komponent się przyda...
Lecz dalej nie mam pojęcia co z tym zrobić ;(

Pozostało 580 znaków

2005-09-07 09:55
0

Poprzeglądaj dema DSPacka

Pozostało 580 znaków

2005-09-07 16:33
FT
0

Dobra dzięki za pomoc...
Tylko jeszcze jedno.... nie mogę na komponęcie TVideoWindow nie mogę zrobić operacji canvas.pixels.
Jak to zrobić?

Pozostało 580 znaków

2005-09-07 17:08
0
FT napisał(a)

Tylko jeszcze jedno.... nie mogę na komponęcie TVideoWindow nie mogę zrobić operacji canvas.pixels.

Mozesz. Tylko wtedy nie odwolujesz sie do obrazu, ale do warstwy polozonej nad nim. Mozesz uzyc komponentu do robienia screenów z filmu (coś z grabber w nazwie) i pobierać nim bitmapę, a potem na bitmapie canvas.pixels. Tylko ostrzegam, że to będzie dość powolne :).

Pozostało 580 znaków

2005-09-07 19:50
FT
0
thenkles napisał(a)
FT napisał(a)

Tylko jeszcze jedno.... nie mogę na komponęcie TVideoWindow nie mogę zrobić operacji canvas.pixels.

Mozesz. Tylko wtedy nie odwolujesz sie do obrazu, ale do warstwy polozonej nad nim. Mozesz uzyc komponentu do robienia screenów z filmu (coś z grabber w nazwie) i pobierać nim bitmapę, a potem na bitmapie canvas.pixels. Tylko ostrzegam, że to będzie dość powolne :).

Znalazłem nawet przykład...
Zrobiłem osobny program i na komponencie TVideoWindow wyświetla mi się pięknie obraz, ale jak dodam ten TSampleGrabber i ustawie właściwość FilterGraph na FilterGraph1 a w zdarzeniu OnBuffer:

  Image.Picture.Bitmap.Canvas.Lock;
  try
    SampleGrabber.GetBitmap(Image.Picture.Bitmap, pBuffer, BufferLen);
  finally
    Image.Picture.Bitmap.Canvas.UnLock;
  end;

To poprostu na imagu nic mi sie nie wyświetla...

Pozostało 580 znaków

2005-09-08 22:40
0
  1. W SampleGrabber Zmień FilterGraph na twój FilterGraph
  2. Poibieranie Bitmapy:
    SampleGrabber.GetBitmap(JvThumbImage1.Picture.Bitmap);
  3. Ważne! - Po rozpoczęciu odtwarzania danych z karty(po wybraniu Device) Napisz
    with FilterGraph as ICaptureGraphBuilder2 do
    RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, SampleGrabber as IBaseFilter, VideoWindow as IbaseFilter);

PS: Polecam przykład PlayVideoCap z DSPack.

Pozostało 580 znaków

2005-09-09 17:07
FT
0
oneghost napisał(a)
  1. W SampleGrabber Zmień FilterGraph na twój FilterGraph
  2. Poibieranie Bitmapy:
    SampleGrabber.GetBitmap(JvThumbImage1.Picture.Bitmap);
  3. Ważne! - Po rozpoczęciu odtwarzania danych z karty(po wybraniu Device) Napisz
with FilterGraph as ICaptureGraphBuilder2 do
RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, SampleGrabber as IBaseFilter, VideoWindow as IbaseFilter);

PS: Polecam przykład PlayVideoCap z DSPack.

te 2 linijki kodu za dużo zrobiły:

[Error] main.pas(77): Operator not applicable to this operand type
[Error] main.pas(78): Undeclared identifier: 'RenderStream'
[Error] main.pas(78): Operator not applicable to this operand type
[Error] main.pas(78): Operator not applicable to this operand type
[Error] main.pas(78): Operator not applicable to this operand type

aż miło popatrzeć na błędy :)
A coś źle robie??

Pozostało 580 znaków

2005-09-09 18:03
0

Popatrz na przykład PlayVideoCap. Tam masz to dokładniej pokazane.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0