ts: ROI cases are not being covered by ArrayTest #26244
Description
ArrayTest
class have two storages for arrays: vector<vector<void*>> test_array
for old functions and vector<vector<Mat>> test_mat
for new functions. The first one is being filled with data and the second one is copied from the first:
opencv/modules/ts/src/ts_arrtest.cpp
Lines 210 to 222 in 783fe72
However, the function cvarrToMat
being used to convert old array to Mat
clears the ROI indicator and creates plain object instead (data == datastart
, dataend
unset or at the end). Example for IplImage
:
opencv/modules/core/src/matrix_c.cpp
Lines 109 to 129 in 783fe72
Thus all ArrayTest-based tests using test_mat
and new functions will effectively miss ROI case. For example Core_MulSpectrums.accuracy
. Here neither of src1
, src2
or dst
will be ROI Mat in any case:
opencv/modules/core/test/test_dxt.cpp
Line 822 in 783fe72