}
zbar::Image greyImage = image.convert("Y800");
+ if (!greyImage.get_data()) {
+ LOGE("fail to image convert by zbar");
+ return MEDIA_VISION_ERROR_INVALID_OPERATION;
+ }
+
greyImage.set_crop(roi.point.x, roi.point.y, roi.width, roi.height);
zbar::ImageScanner scanner;
}
if (NULL == eyeCondition) {
- *eyeCondition = MV_FACE_EYES_NOT_FOUND;
-
LOGE("Output eye condition is NULL. Eye condition recognition failed.");
return MEDIA_VISION_ERROR_INVALID_PARAMETER;
}
Name: capi-media-vision
Summary: Media Vision library for Tizen Native API
-Version: 0.3.0
+Version: 0.3.1
Release: 0
Group: Multimedia/Framework
License: Apache-2.0 and BSD-2.0
err = mv_barcode_detect(source, mv_engine_config, roi, barcode_detected_cb, &model);
if (data_buffer != NULL)
- free(data_buffer);
+ destroy_loaded_buffer(data_buffer);
if (MEDIA_VISION_ERROR_NONE != err) {
printf("ERROR: Errors were occurred during barcode detection!!! code: %i\n", err);
* @return @c 0 on success, otherwise a negative error value
*
* @see ImageHelper::saveImageFromBuffer()
+ * @see ImageHelper::destroyLoadedBuffer()
*/
static int loadImageToBuffer(
const char *filePath,
const ImageData& imageData,
int quality = 100);
+ /**
+ * @brief Destroys loaded buffer by loadImageToBuffer().
+ *
+ * @since_tizen 3.0
+ * @param [out] pDataBuffer The buffer of unsigned chars where image data
+ * will be stored
+ * @return @c 0 on success, otherwise a negative error value
+ *
+ * @see ImageHelper::loadImageToBuffer()
+ */
+ static int destroyLoadedBuffer(
+ unsigned char *pDataBuffer);
+
/**
* @brief Draws the rectangle of specified size on the image data buffer.
*
* @return @c 0 on success, otherwise a negative error value
*
* @see save_image_from_buffer()
+ * @see destroy_loaded_buffer()
*/
int load_image_to_buffer(
const char *file_path,
int quality);
/**
+ * @brief Destroys loaded buffer by load_image_to_buffer().
+ *
+ * @since_tizen 3.0
+ * @param [in] data_buffer Data buffer to be deallocated
+ * @return @c 0 on success, otherwise a negative error value
+ *
+ * @see load_image_to_buffer()
+ */
+int destroy_loaded_buffer(unsigned char *data_buffer);
+
+/**
* @brief Draws the rectangle of specified size on the image data buffer.
*
* @since_tizen 3.0
return MEDIA_VISION_ERROR_NONE;
}
+int ImageHelper::destroyLoadedBuffer(unsigned char *pDataBuffer)
+{
+ if (!pDataBuffer) {
+ return MEDIA_VISION_ERROR_NONE;
+ }
+
+ delete [] pDataBuffer;
+ pDataBuffer = NULL;
+
+ return MEDIA_VISION_ERROR_NONE;
+}
+
int ImageHelper::drawRectangleOnBuffer(
int topLeftVertexX,
int topLeftVertexY,
return ImageHelper::saveImageFromBuffer(file_path, data_buffer, imageData, quality);
}
+int destroy_loaded_buffer(unsigned char *data_buffer)
+{
+ return ImageHelper::destroyLoadedBuffer(data_buffer);
+}
+
int draw_rectangle_on_buffer(
int tl_vertex_x,
int tl_vertex_y,
err);
if (NULL != data_buffer)
{
- free(data_buffer);
+ destroy_loaded_buffer(data_buffer);
}
return err;
if (NULL != data_buffer)
{
- free(data_buffer);
+ destroy_loaded_buffer(data_buffer);
}
return err;
}
labels[dir_n] = known_label ? face_label : -1;
- strcpy(directories[dir_n], in_file_name);
+ snprintf(directories[dir_n], 1024, "%s", in_file_name);
label_count += (0 == unique_checks[face_label] ? 1 : 0);
if (labels[dir_n] >= 0)
unique_checks[labels[dir_n]] += 1;
mv_source_h source = NULL;
int err = mv_create_source(&source);
if (MEDIA_VISION_ERROR_NONE != err) {
+ free(directories);
printf(TEXT_RED
"ERROR: Errors were occurred during creating the source!!! code: %i"
TEXT_RESET "\n", err);