{
int error = createBarcode(symbol, config);
- if (error != BARCODE_ERROR_NONE) {
+ if (error == BARCODE_ERROR_NONE) {
const auto channel = 3;
LOGI("Barcode has been generated to the buffer: Buffer size = %ui x %ui; Channels = %ui; Message = %s",
symbol->bitmap_width, symbol->bitmap_height, channel, config.message.c_str());
cv::circle(inOutImg, cv::Point(rect.x + 3 * gapW, rect.y + 3 * gapH), gapW, color, -1);
}
+cv::Scalar convert_to_scalar(const std::string &bgr)
+{
+ int color_decimal = strtol(bgr.c_str(), nullptr, 16);
+ return cv::Scalar((color_decimal >> 16) & 0xff, (color_decimal >> 8) & 0xff, color_decimal & 0xff);
+}
+
/*
* Use only for mv_barcode_generate_image because,
* QR code size is maximum 177x177, then logo will be (35x35).
auto logo = cv::imread(config.logo_path.c_str(), cv::IMREAD_COLOR);
- int color_decimal = strtol(config.bgcolor.c_str(), nullptr, 16);
- int R = color_decimal % 256;
- color_decimal /= 256;
- int G = color_decimal % 256;
- color_decimal /= 256;
- int B = color_decimal;
-
- auto color_frame = cv::Scalar(B, G, R);
+ auto color_frame = convert_to_scalar(config.bgcolor);
auto color_white = cv::Scalar(255, 255, 255);
auto logoSize = image.size() / 5;