Implement getLeftData() and getRightData() 96/281796/1 accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.063631 accepted/tizen/7.0/unified/hotfix/20221116.105349 accepted/tizen/unified/20220926.025500 tizen_7.0_m2_release
authorTae-Young Chung <ty83.chung@samsung.com>
Thu, 22 Sep 2022 04:20:23 +0000 (13:20 +0900)
committerTae-Young Chung <ty83.chung@samsung.com>
Thu, 22 Sep 2022 04:20:37 +0000 (13:20 +0900)
[Version] 1.0.10-0
[Issue type] update

Change-Id: Ifdf656a3ce87c195a34984109a63b5afbdec85a4
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
packaging/dfs-opencv.spec
src/dfs_opencv.cpp
src/dfs_opencv_private.h

index 00fd471b5aebbac912503ae5d1ff5f42f44c2602..4bf2a3217c57dee9f15c9078ba6709191c83486f 100644 (file)
@@ -1,7 +1,7 @@
 Name:       dfs-opencv
 Summary:    OpenCV based Depth-from-Stereo implementation
-Version:    1.0.9
-Release:    1
+Version:    1.0.10
+Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
index dc77b8473643f9a29ee071389246f637e874056b..046283ce0f0ed9d62e81749aefe09bffe94a8459 100644 (file)
@@ -374,24 +374,24 @@ namespace DfsAdaptationImpl
                        throw std::runtime_error("base and extra should be the type");
                }
 
-               cv::Mat rBaseMat, rExtraMat, dispMat, dispFiltMat;
+               cv::Mat dispMat, dispFiltMat;
 
                // with remap
                if (mIsStereoCalibrated) {
-                       cv::remap(baseMat, rBaseMat, mBaseReMap[0], mBaseReMap[1], cv::INTER_LINEAR);
-                       cv::remap(extraMat, rExtraMat, mExtraReMap[0], mExtraReMap[1], cv::INTER_LINEAR);
+                       cv::remap(baseMat, mBaseMat, mBaseReMap[0], mBaseReMap[1], cv::INTER_LINEAR);
+                       cv::remap(extraMat, mExtraMat, mExtraReMap[0], mExtraReMap[1], cv::INTER_LINEAR);
                } else {
-                       rBaseMat = baseMat;
-                       rExtraMat = extraMat;
+                       mBaseMat = baseMat;
+                       mExtraMat = extraMat;
                }
 
 
                cv::Mat srcBaseMat, srcExtraMat;
-               cv::resize(rBaseMat, srcBaseMat,
+               cv::resize(mBaseMat, srcBaseMat,
                                        cv::Size(),
                                        1.0/static_cast<double>((1<<mDownScale)),
                                        1.0/static_cast<double>((1<<mDownScale)));
-               cv::resize(rExtraMat, srcExtraMat,
+               cv::resize(mExtraMat, srcExtraMat,
                                        cv::Size(),
                                        1.0/static_cast<double>((1<<mDownScale)),
                                        1.0/static_cast<double>((1<<mDownScale)));
@@ -426,10 +426,10 @@ namespace DfsAdaptationImpl
                                        0.0);
                                        dispMatExtra = tmp * static_cast<double>(1<<mDownScale);
                                }
-                               mDfsPostOcv->filter(dispMat, rBaseMat, dispFiltMat,
+                               mDfsPostOcv->filter(dispMat, mBaseMat, dispFiltMat,
                                                                        dispMatExtra,
-                                                                       cv::Rect(0,0,rBaseMat.cols, rBaseMat.rows),
-                                                                       rExtraMat);
+                                                                       cv::Rect(0, 0, mBaseMat.cols, mBaseMat.rows),
+                                                                       mExtraMat);
                        } else {
                                LOGI("left : %s", results[0].get() ? "true" : "false");
                                if (mDownScale) {
@@ -440,7 +440,7 @@ namespace DfsAdaptationImpl
                                        static_cast<double>(1<<mDownScale));
                                        dispMat = tmp * static_cast<double>(1<<mDownScale);
                                }
-                               mDfsPostOcv->filter(dispMat, rBaseMat, dispFiltMat);
+                               mDfsPostOcv->filter(dispMat, mBaseMat, dispFiltMat);
                        }
                        dispFiltMat.convertTo(mDispMat, CV_32F, mDispShiftInv);
                } else {
@@ -471,6 +471,18 @@ namespace DfsAdaptationImpl
                mDepthData.height = mDepthMat.rows;
                mDepthData.stride = mDepthMat.elemSize() *  mDepthMat.cols;
 
+               mBaseData.data = mBaseMat.ptr<unsigned char>();
+               mBaseData.type = mBaseMat.channels() > 1 ? DFS_DATA_TYPE_UINT8C3 : DFS_DATA_TYPE_UINT8C1;
+               mBaseData.width = mBaseMat.cols;
+               mBaseData.height = mBaseMat.rows;
+               mBaseData.stride = mBaseMat.elemSize() *  mBaseMat.cols;
+
+               mExtraData.data = mExtraMat.ptr<unsigned char>();
+               mExtraData.type = mExtraMat.channels() > 1 ? DFS_DATA_TYPE_UINT8C3 : DFS_DATA_TYPE_UINT8C1;
+               mExtraData.width = mExtraMat.cols;
+               mExtraData.height = mExtraMat.rows;
+               mExtraData.stride = mExtraMat.elemSize() *  mExtraMat.cols;
+
                LOGI("LEAVE");
        }
 
@@ -483,6 +495,24 @@ namespace DfsAdaptationImpl
                LOGI("LEAVE");
        }
 
+       DfsData& DfsOCV::getLeftData()
+       {
+               LOGI("ENTER");
+
+               return mBaseData;
+
+               LOGI("LEAVE");
+       }
+
+       DfsData& DfsOCV::getRightData()
+       {
+               LOGI("ENTER");
+
+               return mExtraData;
+
+               LOGI("LEAVE");
+       }
+
        extern "C"
        {
                class IDfsAdaptation *AdaptorInit(void)
index 4e8ebf37a63dd055154fa412c0f168612a46b9c9..34e1b28b24e72790ac6562819b82c45b5cdee0b3 100644 (file)
@@ -93,11 +93,15 @@ namespace DfsAdaptationImpl
                static constexpr float mDispShiftInv = 1.0f/16.f;
 
 
+               cv::Mat mBaseMat;
+               cv::Mat mExtraMat;
                cv::Mat mDispMat;
                cv::Mat mDepthMat;
                cv::Mat mDisp2DepthMat;
                cv::Mat mDispOffsetMat;
                DfsOutputData mDepthData;
+               DfsData mBaseData;
+               DfsData mExtraData;
 
                StereoParam mStereoParam;
                bool mIsStereoCalibrated;
@@ -137,6 +141,8 @@ namespace DfsAdaptationImpl
                void run(DfsInputData& input) override;
 
                DfsOutputData& getOutputData() override;
+               DfsData& getLeftData() override;
+               DfsData& getRightData() override;
 
        };
 }