Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Kameran käyttö

bolio [27.06.2006 20:49:00]

#

Olisi tarve tehdä konenäköön liittyvä ohjelma. Ajattelin että halvin olisi tehdä webbikameralla. Onko kellään tietoa tai linkkejä kuinka voisin ohjata webbikameraa (tms kameraa) ohjelmallisesti. Sovellus olisi tarkoitus tehdä C++:lla, mutta VB.net koodit kelpaa myös. Tarkoitus olisi ottaa vain still-kuvia, eli liikkuvaa kuvaa ei tarvita.

kaviaari [27.06.2006 21:02:56]

#

Itse väkersin joskus digikamerasta vepparin, bash skrtipti ottaa loputtomassa loopissa kuvia gphotolla ja pistää nettiin. Kameroissa voi kyllä olla senverta eroa että :/

sooda [27.06.2006 22:09:24]

#

Yllättävän helposti yhellä jännällä winapilla hoituu. http://www.google.com/search?q­=capCreateCaptureWindow

bolio [06.07.2006 21:02:18]

#

kiitos, toi capCreateCaptureWindow näyttäs siltä että pitää kokeilla..
Toinen juttu: Kuinka saan luettua kuvasta jonkin värin tiedot? Esim. RGB-tyyppisesti, paljonko kuvassa on vihreää tai mikä on jonkin pikselin RGB-luku?

Baglair [06.07.2006 21:29:51]

#

Riippuu vissiin suuresti kuvaformaatista. Tietääkseni pakaamattomista kuvaformaateista (.bmp ja .tiff) tieto on helposti luettavissa. BMP tiedostoissa kuva luetaan aloittaen kuvatiedoston lopusta. Voit kokeilla itse tehdä vaikka 2x2 kokoisen bmp tiedoston, värjäät siihen erivärisiä pikseleitä ja tallennat sen. Sitten avaat sen heksaeditorilla ja katson mistä kohtaa löytyy antamiesi värien heksakoodit.
Niin ja kannattaa katsoa tämä; http://en.wikipedia.org/wiki/Windows_bitmap­#Typical_File_Format

Deewiant [06.07.2006 21:41:08]

#

Kannattaa tarkistaa myös Wotsit's Format.
EDIT: kappas, heittomerkki hajoaa linkissä.

bolio [11.07.2006 21:56:39]

#

Tutkiskelin bitmapin sielunelämää heksaeditorilla ja kyllä sieltä varmaan saisi pikselin tiedot irti. Mutta löysin helpomman tavan: CImg-kirjaston (http://cimg.sourceforge.net/) jolla saa esim. vihreän tiedon näin:

#include "CImg.h"
using namespace cimg_library;
CImg<int> img("bitmap.bmp"); //lataa bitmapin
int valG = img(10,10,0,1); // G-arvo koordin. 10,10

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta