Fix resize bug
authorTae-Young Chung <ty83.chung@samsung.com>
Thu, 18 Nov 2021 01:07:49 +0000 (10:07 +0900)
committer엘무럿/선행S/W Lab(생활가전)/Principal Engineer/삼성전자 <e.talipov@samsung.com>
Tue, 14 Dec 2021 02:21:04 +0000 (11:21 +0900)
When resized images are back to their original sizes,
cv::Size() should be used, not an integer scale value
to handle the case of odd number size.

Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
src/dfs_opencv.cpp

index ff74770..19e978f 100644 (file)
@@ -403,16 +403,16 @@ namespace DfsAdaptationImpl
                                        cv::Mat tmp;
                                        // base
                                        cv::resize(dispMat, tmp,
-                                       cv::Size(),
-                                       static_cast<double>(1<<mDownScale),
-                                       static_cast<double>(1<<mDownScale));
+                                       mImageSize,
+                                       0.0,
+                                       0.0);
                                        dispMat = tmp * static_cast<double>(1<<mDownScale);
 
                                        // extra
                                        cv::resize(dispMatExtra, tmp,
-                                       cv::Size(),
-                                       static_cast<double>(1<<mDownScale),
-                                       static_cast<double>(1<<mDownScale));
+                                       mImageSize,
+                                       0.0,
+                                       0.0);
                                        dispMatExtra = tmp * static_cast<double>(1<<mDownScale);
                                }
                                mDfsPostOcv->filter(dispMat, rBaseMat, dispFiltMat,
@@ -431,7 +431,6 @@ namespace DfsAdaptationImpl
                                }
                                mDfsPostOcv->filter(dispMat, rBaseMat, dispFiltMat);
                        }
-
                        dispFiltMat.convertTo(mDispMat, CV_8UC1, 1.0/16.0);
                } else {
                        LOGI("left : %s", results[0].get() ? "true" : "false");