Java týden Předvánoční slevová akce
Využij předvánočních slev a získej od nás 20 % bodů zdarma! Více zde
Pouze tento týden sleva až 80 % na Java e-learning!

Práce s webkamerou v C# .NET

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Jednoduchá práce s webkamerou. Téměř každý notebook v dnešní době obsahuje webkameru a my se dnes podíváme na to jak s ní pracovat v C# .NET. Je to jednoduché a základní práci s ní zvládneme na pár řádků kódu. Pro naše potřeby použijeme knihovnu EMGU.CV. Knihovna je dostupná přes NuGet Gallery, takže si ji přidáme do projektu.

Dále vytvoříme instanci VideoCapture(), která obsahuje metodu QueryFrame() která získá aktuální snímek z kamery a z něhož mužeme získat přímo Bitmap, se kterým můžeme dále pracovat, uložit, aplikovat filtry...vše co vás napadne.

VideoCapture capture = new VideoCapture();
var frame = capture.QueryFrame();
Bitmap b = frame.Bitmap;
capture.Dispose();
// zde už nepůjde sbírat obrázky, kamera je uvolněná

Galerie

Program byl vytvořen v roce 2017.

 

Stáhnout

Staženo 25x (229.49 MB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

 

Program pro vás napsal Matyáš Černohous
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Autor se věnuje vývoji C# aplikacím, webům a koketuje s Androidem
Všechny články v sekci
Zdrojákoviště C# .NET - Okenní aplikace Windows Forms
Aktivity (5)

 

 

Komentáře

Avatar
eaktivo
Člen
Avatar
eaktivo:9.12.2017 14:45

Otazka: Tablet DELL s Windows obsahuje fotak / kameru. Snimok z kamery sa mi podarilo ziskat, ale ked chcem spravit fotku - ako sa to da ? Kamera ma max. rozlisenie Full HD 1920 x 1080 @ 30fps, ale fotak ma 3000 x 2000, ale fotku neviem spravit.

 
Odpovědět
9.12.2017 14:45
Avatar
Vítězslav Škrabal:21. října 17:01

Mám k vám otázku jak se potom uvolňují prostředky té web kamery ? mám udělán program který pracuje s web kamerou ale po jeho uzavření mi nejde jiná aplikace třeba skype hlásí že toto zařízení používá jiný program co s tím ? díky

 
Odpovědět
21. října 17:01
Avatar
h.grulich
Člen
Avatar
Odpovídá na Vítězslav Škrabal
h.grulich:22. října 10:36

To smrdí absencí volání Dispose()

 
Odpovědět
22. října 10:36
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na h.grulich
Vítězslav Škrabal:22. října 11:02

Já uznávám že to není ošetřený protože jsem to přepisoval videa na YouTube předpokládám že ten návod byl zaměřen jen na podstatu věci a to na QR čtěčku kódu pomocí webkamery a ne na z jeho pohledu nepodstatnou věc :) jak je správná syntaxe Dispose() ? díky

 
Odpovědět
22. října 11:02
Avatar
h.grulich
Člen
Avatar
Odpovídá na Vítězslav Škrabal
h.grulich:22. října 11:11

když použiju řádky kódu od autora tohoto článku, bude to

VideoCapture capture = new VideoCapture();
var frame = capture.QueryFrame();
Bitmap b = frame.Bitmap;

capture.Dispose();
//zde už nepůjde sbírat obrázky, kamera je uvolněná

nebo "správnější" použití v using bloku

using (var capture = new VideoCapture())
{
        var frame = capture.QueryFrame();
        Bitmap b = frame.Bitmap;
}
//zde už nepůjde sbírat obrázky, kamera je uvolněná

v tomto případě je dispose volán automaticky na konci using bloku.

Obecně, na čemkoli, co implementuje IDisposable, by se ten Dispose volat měl (libovolným způsobem)

 
Odpovědět
22. října 11:11
Avatar
Vítězslav Škrabal:22. října 16:30

Bohužel musím konstatovat že byla chyba mezi mou židlí a mou klávesnicí :-( samozřejmě to tam měl a já jsem to přehlédl

 
Odpovědět
22. října 16:30
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.