Remove logoFrame 97/315297/1
authorKwanghoon Son <k.son@samsung.com>
Tue, 30 Jul 2024 01:50:50 +0000 (10:50 +0900)
committerKwanghoon Son <k.son@samsung.com>
Tue, 30 Jul 2024 01:50:50 +0000 (10:50 +0900)
Since data pattern is not shown near logo, logo frame is not necessary.

Change-Id: I5c7ad003101cc9018825e390a8586929e8da98f7
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
mv_barcode/barcode_generator/src/BarcodeGenerator.cpp

index c78bcb32c5bf2e2fed602874d01aa0e91eb51ddd..c577a3a00632288a41e97740aec9b5382718817a 100644 (file)
@@ -303,33 +303,25 @@ static void drawLogo(cv::Mat &image, const BarcodeConfig &config)
                return;
 
        auto logo = cv::imread(config.logo_path.c_str(), cv::IMREAD_COLOR);
-
-       auto color_frame = convert_to_scalar(config.bgcolor);
        auto color_white = cv::Scalar(255, 255, 255);
-
        auto logoSize = makeEven(image.size() / 5);
-       auto logoFrameSize = makeEven(logoSize + logoSize / 10);
 
        cv::resize(logo, logo, logoSize);
        cv::Mat maskMat = cv::Mat::zeros(image.size(), image.type());
        cv::Mat logoMat = cv::Mat::zeros(image.size(), image.type());
        auto logoRect = cv::Rect((image.size() - logoSize) / 2, logoSize);
-       auto logoFrameRect = cv::Rect((image.size() - logoFrameSize) / 2, logoFrameSize);
        logo.copyTo(logoMat(logoRect));
 
        switch (config.finder_shape) {
        case MV_BARCODE_GENERATE_ATTR_SHAPE_ROUND_RECT:
                __round_rect(maskMat, logoRect, color_white);
-               __round_rect(image, logoFrameRect, color_frame);
                break;
        case MV_BARCODE_GENERATE_ATTR_SHAPE_CIRCLE:
                cv::circle(maskMat, image.size() / 2, logoSize.width / 2, color_white, -1);
-               cv::circle(image, image.size() / 2, logoFrameSize.width / 2, color_frame, -1);
                break;
 
        default:
                cv::rectangle(maskMat, logoRect, color_white, -1);
-               cv::rectangle(image, logoFrameRect, color_frame, -1);
                break;
        }
        cv::multiply(cv::Scalar::all(1.0) - maskMat, image, image);
@@ -620,8 +612,9 @@ static void drawDataPattern(cv::Mat &resize_buf, const cv::Mat &buf, int resize_
 
 static void drawDesignQR(cv::Mat &buf, const BarcodeConfig &config)
 {
-       if (config.type != MV_BARCODE_QR || (config.data_shape == MV_BARCODE_GENERATE_ATTR_SHAPE_RECT &&
-                                                                                config.finder_shape == MV_BARCODE_GENERATE_ATTR_SHAPE_RECT))
+       if (config.type != MV_BARCODE_QR || ((config.data_shape == MV_BARCODE_GENERATE_ATTR_SHAPE_RECT &&
+                                                                                 config.finder_shape == MV_BARCODE_GENERATE_ATTR_SHAPE_RECT) &&
+                                                                                config.logo_path.empty()))
                return;
        const int resize_scale = 16;
        cv::Mat resize_buf(buf.rows * resize_scale, buf.cols * resize_scale, CV_8UC1, cv::Scalar(255));