Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IVT
src
VideoCapture
V4LCapture.h
Go to the documentation of this file.
1
// ****************************************************************************
2
// This file is part of the Integrating Vision Toolkit (IVT).
3
//
4
// The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
5
// (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
6
//
7
// Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
8
// All rights reserved.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// 3. Neither the name of the KIT nor the names of its contributors may be
21
// used to endorse or promote products derived from this software
22
// without specific prior written permission.
23
//
24
// THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
25
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
// DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
28
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
// ****************************************************************************
35
// ****************************************************************************
36
// Filename: V4LCapture.h
37
// Author: Alexander Kaspar, Tilo Gockel, Pedram Azad
38
// Date: 19.03.2009
39
// ****************************************************************************
40
41
#ifndef _V4L_CAPTURE_H_
42
#define _V4L_CAPTURE_H_
43
44
45
// ****************************************************************************
46
// Necessary includes
47
// ****************************************************************************
48
49
#include "
Interfaces/VideoCaptureInterface.h
"
50
#include <libv4l1-videodev.h>
51
#include <linux/videodev2.h>
52
#include <string>
53
54
55
// ****************************************************************************
56
// Forward declarations
57
// ****************************************************************************
58
59
class
CByteImage
;
60
61
62
// ****************************************************************************
63
// CV4LCapture
64
// ****************************************************************************
65
66
class
CV4LCapture
:
public
CVideoCaptureInterface
67
{
68
public
:
69
// constructor
70
CV4LCapture
(
const
char
*pDeviceName =
"/dev/video0"
,
int
nChannel = 0,
CVideoCaptureInterface::VideoMode
videoMode =
CVideoCaptureInterface::e640x480
);
71
72
// destructor
73
~CV4LCapture
();
74
75
76
// public methods
77
bool
OpenCamera
();
78
void
CloseCamera
();
79
bool
CaptureImage
(
CByteImage
**ppImages);
80
81
int
GetWidth
() {
return
width
; }
82
int
GetHeight
() {
return
height
; }
83
CByteImage::ImageType
GetType
() {
return
CByteImage::eRGB24
; }
84
int
GetNumberOfCameras
() {
return
1; }
85
86
87
private
:
88
// private attributes
89
CVideoCaptureInterface::VideoMode
m_videoMode
;
90
int
width
,
height
;
91
92
std::string
m_sDeviceName
;
93
int
m_nDeviceHandle
;
94
int
m_nChannel
;
95
96
video_mbuf
memoryBuffer
;
97
video_mmap*
mmaps
;
98
char
*
memoryMap
;
99
int
channelNumber0
;
100
int
depth
;
101
int
bufferIndex
;
102
};
103
104
105
106
#endif
/* _V4L_CAPTURE_H_ */
CV4LCapture::CloseCamera
void CloseCamera()
Definition:
V4LCapture.cpp:295
CV4LCapture::GetWidth
int GetWidth()
Definition:
V4LCapture.h:81
CV4LCapture::~CV4LCapture
~CV4LCapture()
Definition:
V4LCapture.cpp:78
CV4LCapture::width
int width
Definition:
V4LCapture.h:90
CV4LCapture::channelNumber0
int channelNumber0
Definition:
V4LCapture.h:99
CVideoCaptureInterface::e640x480
Definition:
VideoCaptureInterface.h:70
CV4LCapture::GetNumberOfCameras
int GetNumberOfCameras()
Definition:
V4LCapture.h:84
CByteImage
Data structure for the representation of 8-bit grayscale images and 24-bit RGB (or HSV) color images ...
Definition:
ByteImage.h:80
CV4LCapture::GetHeight
int GetHeight()
Definition:
V4LCapture.h:82
CV4LCapture::height
int height
Definition:
V4LCapture.h:90
CV4LCapture::memoryBuffer
video_mbuf memoryBuffer
Definition:
V4LCapture.h:96
CV4LCapture::memoryMap
char * memoryMap
Definition:
V4LCapture.h:98
CV4LCapture::m_nChannel
int m_nChannel
Definition:
V4LCapture.h:94
VideoCaptureInterface.h
CV4LCapture::CaptureImage
bool CaptureImage(CByteImage **ppImages)
Definition:
V4LCapture.cpp:258
CV4LCapture::m_videoMode
CVideoCaptureInterface::VideoMode m_videoMode
Definition:
V4LCapture.h:89
string
GLsizei const GLchar ** string
Definition:
glext.h:3528
CV4LCapture::m_nDeviceHandle
int m_nDeviceHandle
Definition:
V4LCapture.h:93
CV4LCapture::GetType
CByteImage::ImageType GetType()
Definition:
V4LCapture.h:83
CByteImage::eRGB24
Definition:
ByteImage.h:91
CByteImage::ImageType
ImageType
Enum specifying the supported image types.
Definition:
ByteImage.h:86
CV4LCapture::m_sDeviceName
std::string m_sDeviceName
Definition:
V4LCapture.h:92
CVideoCaptureInterface::VideoMode
VideoMode
Definition:
VideoCaptureInterface.h:67
CVideoCaptureInterface
Interface to video capture modules.
Definition:
VideoCaptureInterface.h:63
CV4LCapture::bufferIndex
int bufferIndex
Definition:
V4LCapture.h:101
CV4LCapture::depth
int depth
Definition:
V4LCapture.h:100
CV4LCapture::mmaps
video_mmap * mmaps
Definition:
V4LCapture.h:97
CV4LCapture
Definition:
V4LCapture.h:66
CV4LCapture::OpenCamera
bool OpenCamera()
Definition:
V4LCapture.cpp:87
CV4LCapture::CV4LCapture
CV4LCapture(const char *pDeviceName="/dev/video0", int nChannel=0, CVideoCaptureInterface::VideoMode videoMode=CVideoCaptureInterface::e640x480)
Definition:
V4LCapture.cpp:66
asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28