Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IVT
src
VideoCapture
UncompressedAVICapture.cpp
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: UncompressedAVICapture.cpp
37
// Author: Pedram Azad
38
// Date: 2004
39
// ****************************************************************************
40
41
42
// ****************************************************************************
43
// Includes
44
// ****************************************************************************
45
46
#include <new>
// for explicitly using correct new/delete operators on VC DSPs
47
48
#include "
UncompressedAVICapture.h
"
49
#include "
VideoAccess/VideoReader.h
"
50
#include "
Image/ImageProcessor.h
"
51
#include "
Image/ByteImage.h
"
52
53
54
55
// ****************************************************************************
56
// Constructor / Destructor
57
// ****************************************************************************
58
59
CUncompressedAVICapture::CUncompressedAVICapture
(
const
char
*pFilePath,
const
char
*pSecondFilePath)
60
{
61
m_sFilePath
=
""
;
62
m_sFilePath
+= pFilePath;
63
64
m_sSecondFilePath
=
""
;
65
m_pVideoReader
=
new
CVideoReader
();
66
67
if
(pSecondFilePath)
68
{
69
m_sSecondFilePath
+= pSecondFilePath;
70
m_bStereo
=
true
;
71
m_pSecondVideoReader
=
new
CVideoReader
();
72
}
73
else
74
{
75
m_pSecondVideoReader
= 0;
76
m_bStereo
=
false
;
77
}
78
}
79
80
CUncompressedAVICapture::~CUncompressedAVICapture
()
81
{
82
if
(
m_pVideoReader
)
83
delete
m_pVideoReader
;
84
85
if
(
m_pSecondVideoReader
)
86
delete
m_pSecondVideoReader
;
87
}
88
89
90
// ****************************************************************************
91
// Methods
92
// ****************************************************************************
93
94
int
CUncompressedAVICapture::GetWidth
()
95
{
96
return
m_bOK
?
m_pVideoReader
->
GetWidth
() : -1;
97
}
98
99
int
CUncompressedAVICapture::GetHeight
()
100
{
101
return
m_bOK
?
m_pVideoReader
->
GetHeight
() : -1;
102
}
103
104
CByteImage::ImageType
CUncompressedAVICapture::GetType
()
105
{
106
return
m_bOK
?
m_pVideoReader
->
GetType
() : (
CByteImage::ImageType
) -1;
107
}
108
109
110
bool
CUncompressedAVICapture::OpenCamera
()
111
{
112
CloseCamera
();
113
114
m_bOK
=
false
;
115
116
if
(!
m_pVideoReader
->
OpenUncompressedAVI
(
m_sFilePath
.c_str()))
117
return
false
;
118
119
if
(
m_bStereo
)
120
{
121
if
(!
m_pSecondVideoReader
->
OpenUncompressedAVI
(
m_sSecondFilePath
.c_str()))
122
return
false
;
123
124
if
(
m_pVideoReader
->
GetWidth
() !=
m_pSecondVideoReader
->
GetWidth
() ||
m_pVideoReader
->
GetHeight
() !=
m_pSecondVideoReader
->
GetHeight
())
125
return
false
;
126
}
127
128
m_bOK
=
true
;
129
130
return
true
;
131
}
132
133
void
CUncompressedAVICapture::CloseCamera
()
134
{
135
m_pVideoReader
->
Close
();
136
137
if
(
m_pSecondVideoReader
)
138
m_pSecondVideoReader
->
Close
();
139
}
140
141
bool
CUncompressedAVICapture::CaptureImage
(
CByteImage
**ppImages)
142
{
143
CByteImage
*pImage =
m_pVideoReader
->
ReadNextFrame
();
144
if
(!pImage)
145
return
false
;
146
147
ImageProcessor::CopyImage
(pImage, ppImages[0]);
148
149
if
(
m_bStereo
)
150
{
151
pImage =
m_pSecondVideoReader
->
ReadNextFrame
();
152
if
(!pImage)
153
return
false
;
154
155
ImageProcessor::CopyImage
(pImage, ppImages[1]);
156
}
157
158
return
true
;
159
}
CVideoReader::Close
void Close()
Definition:
VideoReader.cpp:150
CUncompressedAVICapture::m_bStereo
bool m_bStereo
Definition:
UncompressedAVICapture.h:96
CVideoReader
Definition:
VideoReader.h:59
CVideoReader::GetWidth
int GetWidth()
Definition:
VideoReader.h:74
CVideoReader::OpenUncompressedAVI
bool OpenUncompressedAVI(const char *pFileName)
Definition:
VideoReader.cpp:90
CByteImage
Data structure for the representation of 8-bit grayscale images and 24-bit RGB (or HSV) color images ...
Definition:
ByteImage.h:80
CUncompressedAVICapture::m_sFilePath
std::string m_sFilePath
Definition:
UncompressedAVICapture.h:93
CUncompressedAVICapture::m_sSecondFilePath
std::string m_sSecondFilePath
Definition:
UncompressedAVICapture.h:94
CUncompressedAVICapture::GetHeight
int GetHeight()
Definition:
UncompressedAVICapture.cpp:99
ImageProcessor.h
CVideoReader::GetType
CByteImage::ImageType GetType()
Definition:
VideoReader.h:73
CUncompressedAVICapture::CloseCamera
void CloseCamera()
Definition:
UncompressedAVICapture.cpp:133
CUncompressedAVICapture::m_pVideoReader
CVideoReader * m_pVideoReader
Definition:
UncompressedAVICapture.h:90
CUncompressedAVICapture::OpenCamera
bool OpenCamera()
Definition:
UncompressedAVICapture.cpp:110
ImageProcessor::CopyImage
bool CopyImage(const CByteImage *pInputImage, CByteImage *pOutputImage, const MyRegion *pROI=0, bool bUseSameSize=false)
Copies one CByteImage to another.
Definition:
ImageProcessor.cpp:2711
CUncompressedAVICapture::m_pSecondVideoReader
CVideoReader * m_pSecondVideoReader
Definition:
UncompressedAVICapture.h:91
CUncompressedAVICapture::CaptureImage
bool CaptureImage(CByteImage **ppImages)
Definition:
UncompressedAVICapture.cpp:141
CUncompressedAVICapture::GetWidth
int GetWidth()
Definition:
UncompressedAVICapture.cpp:94
CVideoReader::ReadNextFrame
CByteImage * ReadNextFrame()
Definition:
VideoReader.cpp:118
CByteImage::ImageType
ImageType
Enum specifying the supported image types.
Definition:
ByteImage.h:86
CUncompressedAVICapture::CUncompressedAVICapture
CUncompressedAVICapture(const char *pFilePath, const char *pSecondFilePath=NULL)
Definition:
UncompressedAVICapture.cpp:59
CUncompressedAVICapture::~CUncompressedAVICapture
~CUncompressedAVICapture()
Definition:
UncompressedAVICapture.cpp:80
CUncompressedAVICapture::m_bOK
bool m_bOK
Definition:
UncompressedAVICapture.h:97
ByteImage.h
UncompressedAVICapture.h
VideoReader.h
CVideoReader::GetHeight
int GetHeight()
Definition:
VideoReader.h:75
CUncompressedAVICapture::GetType
CByteImage::ImageType GetType()
Definition:
UncompressedAVICapture.cpp:104
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