34 #include <visp3/io/vpDiskGrabber.h>
37 : m_image_number(0), m_image_number_next(0), m_image_step(1), m_number_of_zero(0), m_directory(
"/tmp"),
38 m_base_name(
"I"), m_extension(
"pgm"), m_use_generic_name(false), m_generic_name(
"empty")
45 : m_image_number(0), m_image_number_next(0), m_image_step(1), m_number_of_zero(0), m_directory(
"/tmp"),
46 m_base_name(
"I"), m_extension(
"pgm"), m_use_generic_name(true), m_generic_name(generic_name)
52 unsigned int noz,
const std::string &ext)
53 : m_image_number(number), m_image_number_next(number), m_image_step(step), m_number_of_zero(noz), m_directory(dir),
54 m_base_name(basename), m_extension(ext), m_use_generic_name(false), m_generic_name(
"empty"), m_image_name()
107 m_image_number = m_image_number_next;
108 std::stringstream ss;
110 if (m_use_generic_name) {
111 char filename[FILENAME_MAX];
112 snprintf(filename, FILENAME_MAX, m_generic_name.c_str(), m_image_number);
116 ss << m_directory <<
"/" << m_base_name << std::setfill(
'0') << std::setw(m_number_of_zero) << m_image_number <<
"."
120 m_image_number_next += m_image_step;
121 m_image_name = ss.str();
130 m_image_number = m_image_number_next;
131 std::stringstream ss;
133 if (m_use_generic_name) {
134 char filename[FILENAME_MAX];
135 snprintf(filename, FILENAME_MAX, m_generic_name.c_str(), m_image_number);
139 ss << m_directory <<
"/" << m_base_name << std::setfill(
'0') << std::setw(m_number_of_zero) << m_image_number <<
"."
143 m_image_number_next += m_image_step;
144 m_image_name = ss.str();
153 m_image_number = m_image_number_next;
154 std::stringstream ss;
155 if (m_use_generic_name) {
156 char filename[FILENAME_MAX];
157 snprintf(filename, FILENAME_MAX, m_generic_name.c_str(), m_image_number);
161 ss << m_directory <<
"/" << m_base_name << std::setfill(
'0') << std::setw(m_number_of_zero) << m_image_number <<
"."
165 m_image_number_next += m_image_step;
175 m_image_number = image_number;
176 std::stringstream ss;
177 if (m_use_generic_name) {
178 char filename[FILENAME_MAX];
179 snprintf(filename, FILENAME_MAX, m_generic_name.c_str(), m_image_number);
183 ss << m_directory <<
"/" << m_base_name << std::setfill(
'0') << std::setw(m_number_of_zero) << m_image_number <<
"."
187 m_image_number_next = m_image_number + m_image_step;
197 m_image_number = image_number;
198 std::stringstream ss;
199 if (m_use_generic_name) {
200 char filename[FILENAME_MAX];
201 snprintf(filename, FILENAME_MAX, m_generic_name.c_str(), m_image_number);
205 ss << m_directory <<
"/" << m_base_name << std::setfill(
'0') << std::setw(m_number_of_zero) << m_image_number <<
"."
209 m_image_number_next = m_image_number + m_image_step;
219 m_image_number = m_image_number_next;
220 std::stringstream ss;
221 if (m_use_generic_name) {
222 char filename[FILENAME_MAX];
223 snprintf(filename, FILENAME_MAX, m_generic_name.c_str(), m_image_number);
227 ss << m_directory <<
"/" << m_base_name << std::setfill(
'0') << std::setw(m_number_of_zero) << image_number <<
"."
231 m_image_number_next += m_image_step;
243 m_image_number = number;
244 m_image_number_next = number;
249 m_generic_name = generic_name;
250 m_use_generic_name =
true;
void open(vpImage< unsigned char > &I)
void setGenericName(const std::string &genericName)
void setImageNumber(long number)
long getImageNumber() const
void acquire(vpImage< unsigned char > &I)
unsigned int height
Number of rows in the image.
bool init
Set to true if the frame grabber has been initialized.
unsigned int width
Number of columns in the image.
static void readPFM(vpImage< float > &I, const std::string &filename)
static void read(vpImage< unsigned char > &I, const std::string &filename, int backend=IO_DEFAULT_BACKEND)
unsigned int getWidth() const
unsigned int getHeight() const