23 #include "mini_image_producer.h" 25 #include <utils/system/console_colors.h> 26 #include <utils/logging/logger.h> 27 #include <fvutils/scalers/scaler.h> 28 #include <fvutils/ipc/shm_image.h> 49 this->scaler = scaler;
52 logger->
log_debug(
"MiniImageProducer",
"Opening original image shmem segment for id %s", orig_id);
55 if ( ! orig_shmem->is_valid() ) {
56 logger->
log_error(
"MiniImageProducer",
"Could not open original image");
64 logger->
log_debug(
"MiniImageProducer",
"Opening mini image shmem segment for id %s" 72 if ( ! mini_shmem->is_valid() ) {
73 logger->
log_error(
"MiniImageProducer",
"Could not open mini image");
98 return ( (orig_shmem != NULL) &&
99 (mini_shmem != NULL) &&
108 if ( orig_shmem == NULL ) {
109 logger->
log_warn(
"MiniImageProducer",
"Original shmem image not opened");
112 if ( mini_shmem == NULL ) {
113 logger->
log_warn(
"MiniImageProducer",
"Mini shmem image not opened");
117 scaler->set_scale_factor( scale_factor );
118 scaler->set_original_dimensions( orig_shmem->width(), orig_shmem->height() );
119 scaler->set_scaled_dimensions( mini_shmem->width(), mini_shmem->height() );
120 scaler->set_original_buffer( orig_shmem->buffer() );
121 scaler->set_scaled_buffer( mini_shmem->buffer() );
virtual unsigned int needed_scaled_height()=0
Minimum needed height of scaled image depending on factor and original image height.
bool isValid()
Check if all data is valid.
virtual void set_scale_factor(float factor)=0
Set scale factor.
void produce()
Produce mini image.
virtual void log_warn(const char *component, const char *format,...)
Log warning message.
Shared memory image buffer.
virtual void log_error(const char *component, const char *format,...)=0
Log error message.
~MiniImageProducer()
Destructor.
virtual void set_original_dimensions(unsigned int width, unsigned int height)=0
Set original image dimensions.
virtual void log_debug(const char *component, const char *format,...)=0
Log debug message.
MiniImageProducer(const char *orig_id, const char *mini_id, firevision::Scaler *scaler, fawkes::Logger *logger)
Constructor.
virtual unsigned int needed_scaled_width()=0
Minimum needed width of scaled image depending on factor and original image width.