簡體   English   中英

OpenCV 檢測和計算圖像特征

[英]OpenCV detect and compute image features

最近從 3.4.5 升級了 OpenCV。 到 OpenCV 4.2.0。

在我按照這個拼接示例之前: https : //github.com/opencv/opencv/blob/5131619a1a4d1d3a860b5da431742cc6be945332/samples/cpp/stitching_detailed.cpp (特別是第 480 行)。 升級后,我更改了代碼以更符合這個新示例: https : //github.com/opencv/opencv/blob/master/samples/cpp/stitching_detailed.cpp (注釋第 481 行)。

問題在於這個新的computeImageFeatures函數,我檢測到的特征越來越少。 用相同的圖像舊的代碼給了我1400個+的功能,但computeImageFeatures給我的話,每個圖像500點的特征。 任何想法如何解決這一問題? 我相信它也會導致“捆綁調整器”稍后失敗。

根據cv::ORB::create文檔, nfeatures參數的默認值為500

第一個參數是nfeatures ,您可以將第一個參數設置為2000等磨碎機編號。

以下是構造函數參數:

static Ptr<ORB> cv::ORB::create (int     nfeatures = 500,
                                 float   scaleFactor = 1.2f,
                                 int     nlevels = 8,
                                 int     edgeThreshold = 31,
                                 int     firstLevel = 0,
                                 int     WTA_K = 2,
                                 int     scoreType = ORB::HARRIS_SCORE,
                                 int     patchSize = 31,
                                 int     fastThreshold = 20 
                                )       

嘗試修改:

if (features_type == "orb")
{
    finder = ORB::create();
}

if (features_type == "orb")
{
    finder = ORB::create(2000);
}

如果您不使用 ORB,而是使用其他類型的功能,請閱讀構造函數的文檔。
我假設所有類型都有一個限制器參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM