C/C++ week Anniversary - BF
80 % bodů zdarma na online výuku díky naší Narozeninové akci!
Pouze tento týden sleva až 80 % na e-learning týkající se C/C++

Práce s webkamerou v C# .NET

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 31x (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.10.2019 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.10.2019 17:01
Avatar
Hans
Člen
Avatar
Odpovídá na Vítězslav Škrabal
Hans:22.10.2019 10:36

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

 
Odpovědět
22.10.2019 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 Hans
Vítězslav Škrabal:22.10.2019 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.10.2019 11:02
Avatar
Hans
Člen
Avatar
Odpovídá na Vítězslav Škrabal
Hans:22.10.2019 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.10.2019 11:11
Avatar
Vítězslav Škrabal:22.10.2019 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.10.2019 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.