2012-02-11 29 views
6

Khi thử nghiệm scipy bằng gói mũi sử dụng scipy.test(), kiểm tra không thành công trong Ubuntu 12.04 với tất cả các gói vani được cài đặt. Tôi có phải lo lắng không, và nếu có, tôi có thể khắc phục điều này như thế nào?Lỗi khi kiểm tra SciPy

In [8]: scipy.test() 
Running unit tests for scipy 
NumPy version 1.5.1 
NumPy is installed in /usr/lib/python2.7/dist-packages/numpy 
SciPy version 0.9.0 
SciPy is installed in /usr/lib/python2.7/dist-packages/scipy 
Python version 2.7.2+ (default, Jan 21 2012, 23:31:34) [GCC 4.6.2] 
nose version 1.1.2 

[................] 

====================================================================== 
FAIL: test_io.test_imread 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest 
    self.test(*self.arg) 
    File "/usr/lib/python2.7/dist-packages/numpy/testing/decorators.py", line 146, in skipper_func 
    return f(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/scipy/ndimage/tests/test_io.py", line 16, in test_imread 
    assert_array_equal(img.shape, (300, 420, 3)) 
    File "/usr/lib/python2.7/dist-packages/numpy/testing/utils.py", line 686, in assert_array_equal 
    verbose=verbose, header='Arrays are not equal') 
    File "/usr/lib/python2.7/dist-packages/numpy/testing/utils.py", line 579, in assert_array_compare 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not equal 

(shapes (2,), (3,) mismatch) 
x: array([300, 420]) 
y: array([300, 420, 3]) 

---------------------------------------------------------------------- 
Ran 3780 tests in 32.328s 

FAILED (KNOWNFAIL=11, SKIP=20, failures=1) 

Trả lời

11

Nếu bạn có một cái nhìn bên trong /usr/lib/python2.7/dist-packages/scipy/ndimage/tests/test_io.py bạn sẽ thấy:

def test_imread(): 
    lp = os.path.join(os.path.dirname(__file__), 'dots.png') 
    img = ndi.imread(lp) 
    assert_array_equal(img.shape, (300, 420, 3)) 

    img = ndi.imread(lp, flatten=True) 
    assert_array_equal(img.shape, (300, 420)) 

thử nghiệm này dường như được thử nghiệm nếu flatten=True chuyển đổi một hình ảnh RGB thành một hình ảnh thang độ xám 1-bit.

Trên hệ thống Ubuntu 11.10 của tôi, tuy nhiên, dots.png đã là một tập tin ảnh 1-bit:

% file /usr/share/pyshared/scipy/ndimage/tests/dots.png 
/usr/share/pyshared/scipy/ndimage/tests/dots.png: PNG image data, 420 x 300, 1-bit colormap, non-interlaced 

Nếu tôi thực hiện các bài kiểm tra (bằng tay) trên một hình ảnh RGBA, sau đó kiểm tra hoạt động:

In [18]: z = ndi.imread('image.png') 

In [20]: z.shape 
Out[20]: (250, 250, 4) 

In [24]: w = ndi.imread('image.png', flatten = True) 

In [25]: w.shape 
Out[25]: (250, 250) 

Vì vậy, tôi không nghĩ có bất kỳ điều gì sai trái nghiêm trọng ở đây, chỉ có lẽ tệp dots.png đã được giao phải là hình ảnh RGB thay vì hình chữ nhật màu xám.

+0

Câu trả lời hay. Bạn cũng nhận được thông báo lỗi? – Ingo

+1

Vâng, tôi gặp lỗi tương tự trên Ubuntu 11.10. – unutbu

Các vấn đề liên quan