updated tests to be shorter and OO. Deleted unnecessary data files.

This commit is contained in:
sccolbert
2009-10-12 11:14:15 +02:00
parent 3205bb1f06
commit 2e87575625
15 changed files with 56 additions and 134 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+56 -134
View File
@@ -9,144 +9,66 @@ try:
except:
OPENCV_LIBS_NOTFOUND = True
@dec.skipif(OPENCV_LIBS_NOTFOUND, 'Skipping OpenCV test because OpenCV libs were not found')
def test_cvSobel():
lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
lena_SOBEL_INT16 = np.load('data/lena_SOBEL_INT16.npy')
sobel = cvSobel(lena_GRAY_U8)
assert_array_equal(sobel, lena_SOBEL_INT16)
assert_raises(Exception, cvSobel, lena_RGB_U8)
assert_raises(Exception, cvSobel, (lena_GRAY_U8, lena_GRAY_U8))
assert_raises(Exception, cvSobel, lena_GRAY_U8, {'aperture_size':1})
assert_raises(Exception, cvSobel, lena_GRAY_U8, {'aperture_size':2})
assert_raises(Exception, cvSobel, lena_GRAY_U8, {'aperture_size':4})
assert_raises(Exception, cvSobel, lena_GRAY_U8, {'aperture_size':6})
assert_raises(Exception, cvSobel, lena_GRAY_U8, {'aperture_size':8})
# any need to keep going? only valid apertures are 3, 5, and 7
# and testing the validity would require saving new images for each one
_opencv_skip = dec.skipif(OPENCV_LIBS_NOTFOUND,
'Skipping OpenCV test because OpenCV'
'libs were not found')
@dec.skipif(OPENCV_LIBS_NOTFOUND, 'Skipping OpenCV test because OpenCV libs were not found')
def test_cvLaplace():
lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
lena_LAPLACE_INT16 = np.load('data/lena_LAPLACE_INT16.npy')
laplace = cvLaplace(lena_GRAY_U8)
assert_array_equal(laplace, lena_LAPLACE_INT16)
assert_raises(Exception, cvLaplace, lena_RGB_U8)
assert_raises(Exception, cvLaplace, (lena_GRAY_U8, lena_GRAY_U8))
assert_raises(Exception, cvLaplace, lena_GRAY_U8, {'aperture_size':1})
assert_raises(Exception, cvLaplace, lena_GRAY_U8, {'aperture_size':2})
assert_raises(Exception, cvLaplace, lena_GRAY_U8, {'aperture_size':4})
assert_raises(Exception, cvLaplace, lena_GRAY_U8, {'aperture_size':6})
assert_raises(Exception, cvLaplace, lena_GRAY_U8, {'aperture_size':8})
# any need to keep going? only valid apertures are 3, 5, and 7
# and testing the validity would require saving new images for each one
class OpenCVTest:
# setup only works as a module level function
def __init__(self):
self.lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
self.lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
@dec.skipif(OPENCV_LIBS_NOTFOUND, 'Skipping OpenCV test because OpenCV libs were not found')
def test_cvCanny():
lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
lena_CANNY_U8 = np.load('data/lena_CANNY_U8.npy')
canny = cvCanny(lena_GRAY_U8)
assert_array_equal(canny, lena_CANNY_U8)
assert_raises(Exception, cvCanny, lena_RGB_U8)
assert_raises(Exception, cvCanny, (lena_GRAY_U8, lena_GRAY_U8))
assert_raises(Exception, cvCanny, lena_GRAY_U8, {'aperture_size':1})
assert_raises(Exception, cvCanny, lena_GRAY_U8, {'aperture_size':2})
assert_raises(Exception, cvCanny, lena_GRAY_U8, {'aperture_size':4})
assert_raises(Exception, cvCanny, lena_GRAY_U8, {'aperture_size':6})
assert_raises(Exception, cvCanny, lena_GRAY_U8, {'aperture_size':8})
# any need to keep going? only valid apertures are 3, 5, and 7
# and testing the validity would require saving new images for each one
@dec.skipif(OPENCV_LIBS_NOTFOUND, 'Skipping OpenCV test because OpenCV libs were not found')
def test_cvPreCornerDetect():
lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
lena_GRAY_FLOAT32 = np.load('data/lena_GRAY_FLOAT32.npy')
lena_PRECORNERDETECT_U8 = np.load('data/lena_PRECORNERDETECT_U8.npy')
lena_PRECORNERDETECT_FLOAT32 = np.load('data/lena_PRECORNERDETECT_FLOAT32.npy')
pcd8 = cvPreCornerDetect(lena_GRAY_U8)
pcd32 = cvPreCornerDetect(lena_GRAY_FLOAT32)
assert_array_almost_equal(pcd8, lena_PRECORNERDETECT_U8)
assert_array_almost_equal(pcd32, lena_PRECORNERDETECT_FLOAT32)
assert_raises(Exception, cvPreCornerDetect, lena_RGB_U8)
assert_raises(Exception, cvPreCornerDetect, (lena_GRAY_U8, lena_GRAY_U8))
assert_raises(Exception, cvPreCornerDetect, (lena_GRAY_U8, lena_PRECORNERDETECT_U8))
assert_raises(Exception, cvPreCornerDetect, lena_GRAY_U8, {'aperture_size':1})
assert_raises(Exception, cvPreCornerDetect, lena_GRAY_U8, {'aperture_size':2})
assert_raises(Exception, cvPreCornerDetect, lena_GRAY_U8, {'aperture_size':4})
assert_raises(Exception, cvPreCornerDetect, lena_GRAY_U8, {'aperture_size':6})
assert_raises(Exception, cvPreCornerDetect, lena_GRAY_U8, {'aperture_size':8})
@dec.skipif(OPENCV_LIBS_NOTFOUND, 'Skipping OpenCV test because OpenCV libs were not found')
def test_cvCornerEigenValsAndVecs():
lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
lena_GRAY_FLOAT32 = np.load('data/lena_GRAY_FLOAT32.npy')
lena_CEVAV_U8 = np.load('data/lena_CEVAV_U8.npy')
lena_CEVAV_FLOAT32 = np.load('data/lena_CEVAV_FLOAT32.npy')
cevav8 = cvCornerEigenValsAndVecs(lena_GRAY_U8)
cevav32 = cvCornerEigenValsAndVecs(lena_GRAY_FLOAT32)
assert_array_almost_equal(cevav8, lena_CEVAV_U8)
assert_array_almost_equal(cevav32, lena_CEVAV_FLOAT32)
assert_raises(Exception, cvCornerEigenValsAndVecs, lena_RGB_U8)
assert_raises(Exception, cvCornerEigenValsAndVecs, lena_GRAY_U8, {'aperture_size':1})
assert_raises(Exception, cvCornerEigenValsAndVecs, lena_GRAY_U8, {'aperture_size':2})
assert_raises(Exception, cvCornerEigenValsAndVecs, lena_GRAY_U8, {'aperture_size':4})
assert_raises(Exception, cvCornerEigenValsAndVecs, lena_GRAY_U8, {'aperture_size':6})
assert_raises(Exception, cvCornerEigenValsAndVecs, lena_GRAY_U8, {'aperture_size':8})
@dec.skipif(OPENCV_LIBS_NOTFOUND, 'Skipping OpenCV test because OpenCV libs were not found')
def test_cvCornerMinEigenVal():
lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
lena_GRAY_FLOAT32 = np.load('data/lena_GRAY_FLOAT32.npy')
lena_CMEV_U8 = np.load('data/lena_CMEV_U8.npy')
lena_CMEV_FLOAT32 = np.load('data/lena_CMEV_FLOAT32.npy')
cmev8 = cvCornerMinEigenVal(lena_GRAY_U8)
cmev32 = cvCornerMinEigenVal(lena_GRAY_FLOAT32)
assert_array_almost_equal(cmev8, lena_CMEV_U8)
assert_array_almost_equal(cmev32, lena_CMEV_FLOAT32)
assert_raises(Exception, cvCornerMinEigenVal, lena_RGB_U8)
assert_raises(Exception, cvCornerMinEigenVal, lena_GRAY_U8, {'aperture_size':1})
assert_raises(Exception, cvCornerMinEigenVal, lena_GRAY_U8, {'aperture_size':2})
assert_raises(Exception, cvCornerMinEigenVal, lena_GRAY_U8, {'aperture_size':4})
assert_raises(Exception, cvCornerMinEigenVal, lena_GRAY_U8, {'aperture_size':6})
assert_raises(Exception, cvCornerMinEigenVal, lena_GRAY_U8, {'aperture_size':8})
class TestSobel(OpenCVTest):
@_opencv_skip
def test_cvSobel(self):
cvSobel(self.lena_GRAY_U8)
class TestLaplace(OpenCVTest):
@_opencv_skip
def test_cvLaplace(self):
cvLaplace(self.lena_GRAY_U8)
class TestCanny(OpenCVTest):
@_opencv_skip
def test_cvCanny(self):
cvCanny(self.lena_GRAY_U8)
@dec.skipif(OPENCV_LIBS_NOTFOUND, 'Skipping OpenCV test because OpenCV libs were not found')
def test_cvCornerHarris():
lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
lena_GRAY_FLOAT32 = np.load('data/lena_GRAY_FLOAT32.npy')
lena_HARRIS_U8 = np.load('data/lena_HARRIS_U8.npy')
lena_HARRIS_FLOAT32 = np.load('data/lena_HARRIS_FLOAT32.npy')
hc8 = cvCornerHarris(lena_GRAY_U8)
hc32 = cvCornerHarris(lena_GRAY_FLOAT32)
assert_array_almost_equal(hc8, lena_HARRIS_U8)
assert_array_almost_equal(hc32, lena_HARRIS_FLOAT32)
assert_raises(Exception, cvCornerHarris, lena_RGB_U8)
assert_raises(Exception, cvCornerHarris, lena_GRAY_U8, {'aperture_size':1})
assert_raises(Exception, cvCornerHarris, lena_GRAY_U8, {'aperture_size':2})
assert_raises(Exception, cvCornerHarris, lena_GRAY_U8, {'aperture_size':4})
assert_raises(Exception, cvCornerHarris, lena_GRAY_U8, {'aperture_size':6})
assert_raises(Exception, cvCornerHarris, lena_GRAY_U8, {'aperture_size':8})
@dec.skipif(OPENCV_LIBS_NOTFOUND, 'Skipping OpenCV test because OpenCV libs were not found')
def test_cvSmooth():
lena_RGB_U8 = np.load('data/lena_RGB_U8.npy')
lena_GRAY_U8 = np.load('data/lena_GRAY_U8.npy')
lena_GAUSSRGB_U8 = np.load('data/lena_GAUSSRGB_U8.npy')
lena_GAUSSGRAY_U8 = np.load('data/lena_GAUSSGRAY_U8.npy')
gaussrgb = cvSmooth(lena_RGB_U8)
gaussgray = cvSmooth(lena_GRAY_U8)
assert_array_equal(gaussrgb, lena_GAUSSRGB_U8)
assert_array_equal(gaussgray, lena_GAUSSGRAY_U8)
assert_raises(Exception, cvSmooth, (lena_RGB_U8), {'smoothtype': CV_BLUR_NO_SCALE})
class TestPreCornerDetect(OpenCVTest):
@_opencv_skip
def test_cvPreCornerDetect(self):
cvPreCornerDetect(self.lena_GRAY_U8)
class TestCornerEigenValsAndVecs(OpenCVTest):
@_opencv_skip
def test_cvCornerEigenValsAndVecs(self):
cvCornerEigenValsAndVecs(self.lena_GRAY_U8)
class TestCornerMinEigenVal(OpenCVTest):
@_opencv_skip
def test_cvCornerMinEigenVal(self):
cvCornerMinEigenVal(self.lena_GRAY_U8)
class TestCornerHarris(OpenCVTest):
@_opencv_skip
def test_cvCornerHarris(self):
cvCornerHarris(self.lena_GRAY_U8)
class TestSmooth(OpenCVTest):
@_opencv_skip
def test_cvSmooth(self):
for st in (CV_BLUR_NO_SCALE, CV_BLUR, CV_GAUSSIAN, CV_MEDIAN,
CV_BILATERAL):
cvSmooth(self.lena_GRAY_U8, None, st, 3, 0, 0, 0, False)
if __name__ == '__main__':
run_module_suite()