vendor: OpenCV 5.0.0 snapshot at 755e50675d97db9b7d449d8bd6b09888646f6c6e

This commit is contained in:
Gitea Mirror Bot
2026-08-22 00:11:13 +08:00
commit 12022378a3
3872 changed files with 2513409 additions and 0 deletions
@@ -0,0 +1,3 @@
#ifdef HAVE_OPENCV_XIMGPROC
typedef cv::ximgproc::EdgeDrawing::Params EdgeDrawing_Params;
#endif
@@ -0,0 +1,24 @@
#!/usr/bin/env python
import cv2 as cv
import numpy as np
from tests_common import NewOpenCVTests
class disparity_test(NewOpenCVTests):
def test_disp(self):
# readGT
ret,GT = cv.ximgproc.readGT(self.find_file("cv/disparityfilter/GT.png"))
self.assertEqual(ret, 0) # returns 0 on success!
self.assertFalse(np.shape(GT) == ())
# computeMSE
left = cv.imread(self.find_file("cv/disparityfilter/disparity_left_raw.png"), cv.IMREAD_UNCHANGED)
self.assertFalse(np.shape(left) == ())
left = np.asarray(left, dtype=np.int16)
mse = cv.ximgproc.computeMSE(GT, left, (0, 0, GT.shape[1], GT.shape[0]))
# computeBadPixelPercent
bad = cv.ximgproc.computeBadPixelPercent(GT, left, (0, 0, GT.shape[1], GT.shape[0]), 24)
if __name__ == '__main__':
NewOpenCVTests.bootstrap()
@@ -0,0 +1,71 @@
#!/usr/bin/env python
import numpy as np
import cv2 as cv
from tests_common import NewOpenCVTests
class Interpolator_test(NewOpenCVTests):
def test_edgeaware_interpolator(self):
# readGT
MAX_DIF = 1.0
MAX_MEAN_DIF = 1.0 / 256.0
src = cv.imread(self.find_file("cv/optflow/RubberWhale1.png"), cv.IMREAD_COLOR)
self.assertFalse(src is None)
ref_flow = cv.readOpticalFlow(self.find_file("cv/sparse_match_interpolator/RubberWhale_reference_result.flo"))
self.assertFalse(ref_flow is None)
matches = np.genfromtxt(self.find_file("cv/sparse_match_interpolator/RubberWhale_sparse_matches.txt")).astype(np.float32)
from_points = matches[:,0:2]
to_points = matches[:,2:4]
interpolator = cv.ximgproc.createEdgeAwareInterpolator()
interpolator.setK(128)
interpolator.setSigma(0.05)
interpolator.setUsePostProcessing(True)
interpolator.setFGSLambda(500.0)
interpolator.setFGSSigma(1.5)
dense_flow = interpolator.interpolate(src, from_points, src, to_points)
self.assertTrue(cv.norm(dense_flow, ref_flow, cv.NORM_INF) <= MAX_DIF)
self.assertTrue(cv.norm(dense_flow, ref_flow, cv.NORM_L1) <= (MAX_MEAN_DIF * dense_flow.shape[0] * dense_flow.shape[1]))
def test_ric_interpolator(self):
# readGT
MAX_DIF = 6.0
MAX_MEAN_DIF = 60.0 / 256.0
src0 = cv.imread(self.find_file("cv/optflow/RubberWhale1.png"), cv.IMREAD_COLOR)
self.assertFalse(src0 is None)
src1 = cv.imread(self.find_file("cv/optflow/RubberWhale2.png"), cv.IMREAD_COLOR)
self.assertFalse(src1 is None)
ref_flow = cv.readOpticalFlow(self.find_file("cv/sparse_match_interpolator/RubberWhale_reference_result.flo"))
self.assertFalse(ref_flow is None)
matches = np.genfromtxt(self.find_file("cv/sparse_match_interpolator/RubberWhale_sparse_matches.txt")).astype(np.float32)
from_points = matches[:,0:2]
to_points = matches[:,2:4]
interpolator = cv.ximgproc.createRICInterpolator()
interpolator.setK(32)
interpolator.setSuperpixelSize(15)
interpolator.setSuperpixelNNCnt(150)
interpolator.setSuperpixelRuler(15.0)
interpolator.setSuperpixelMode(cv.ximgproc.SLIC)
interpolator.setAlpha(0.7)
interpolator.setModelIter(4)
interpolator.setRefineModels(True)
interpolator.setMaxFlow(250)
interpolator.setUseVariationalRefinement(True)
interpolator.setUseGlobalSmootherFilter(True)
interpolator.setFGSLambda(500.0)
interpolator.setFGSSigma(1.5)
dense_flow = interpolator.interpolate(src0, from_points, src1, to_points)
self.assertTrue(cv.norm(dense_flow, ref_flow, cv.NORM_INF) <= MAX_DIF)
self.assertTrue(cv.norm(dense_flow, ref_flow, cv.NORM_L1) <= (MAX_MEAN_DIF * dense_flow.shape[0] * dense_flow.shape[1]))
if __name__ == '__main__':
NewOpenCVTests.bootstrap()