1
哪種方法是檢索子陣列,adjustROI()
或submat()
更快?我想知道它,因爲im 與java一起工作,我得到了1600 * 1200大小的許多圖像的循環。方法性能比較
在此先感謝。
PS:對於任何人,誰已經注意到,同一職位在OpenCV的Q &的論壇存在:既然沒有人能夠回答這個問題,我決定把它#2,增加人的回答中有機會。
哪種方法是檢索子陣列,adjustROI()
或submat()
更快?我想知道它,因爲im 與java一起工作,我得到了1600 * 1200大小的許多圖像的循環。方法性能比較
在此先感謝。
PS:對於任何人,誰已經注意到,同一職位在OpenCV的Q &的論壇存在:既然沒有人能夠回答這個問題,我決定把它#2,增加人的回答中有機會。
最好的想法是@Ilya Kurnosov建議的基準測試。 但是,我預測幾乎基於下面的來源無差異。 與實際發生的工作相比,Mat創建和JNI調用開銷似乎很大,但基準測試可能證明我錯了。
這兩種方法的一個重大問題是,如果您要逐個像素地滑動一個矩形,那麼您將創建近兩百萬個對象。 (OTOH你可以在C++中做到這一點,而無需創建任何新對象,所以如果它的速度很快......)
public Mat submat(int rowStart, int rowEnd, int colStart, int colEnd)
{
Mat retVal = new Mat(n_submat_rr(nativeObj, rowStart, rowEnd, colStart, colEnd));
return retVal;
}
public Mat adjustROI(int dtop, int dbottom, int dleft, int dright)
{
Mat retVal = new Mat(n_adjustROI(nativeObj, dtop, dbottom, dleft, dright));
return retVal;
}
爲什麼你不做基準? –
我以爲有人會知道,因爲他已經測試過它。如果沒有,我會盡快發佈我的基準。 – kiltek
我不明白爲什麼人們downvote。這個問題需要所謂的「知識共享」。 – kiltek