pythonnumpyattributeerror

AttributeError: module 'numpy' has no attribute 'int'


I tried to run my code in another computer, while it successfully compiled in the original environment, this error can outta nowhere:

File "c:\vision_hw\hw_3\cv2IP.py", line 91, in SECOND_ORDER_LOG
    original = np.zeros((5,5),dtype=np.int)
File "C:\Users\brian2lee\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\numpy\__init__.py", line 284, in __getattr__
    raise AttributeError("module {!r} has no attribute " AttributeError: module 'numpy' has no attribute 'int'

I have tried reinstallin numpy but it did not work. Down below is my code:

def SECOND_ORDER_LOG (self,img):
    original = np.zeros((5,5),dtype=np.int)
    original[2,2] = 1
    kernel = np.array([[ 0,  0, -1,  0,  0],
    [ 0, -1, -2, -1,  0],
    [-1, -2, 16, -2, -1],
    [ 0, -1, -2, -1,  0],
    [ 0,  0, -1,  0,  0]])
    result = original + 1 * kernel
    sharpened = cv2.filter2D(img, -1, result)
    return sharpened

Solution

  • numpy.int was deprecated in NumPy 1.20 and was removed in NumPy 1.24. You can change it to numpy.int_, or just int.

    Several other aliases for standard types were also removed from NumPy's namespace on the same schedule:

    Deprecated name Identical to NumPy scalar type names
    numpy.bool bool numpy.bool_
    numpy.int int numpy.int_ (default), numpy.int64, or numpy.int32
    numpy.float float numpy.float64, numpy.float_, numpy.double (equivalent)
    numpy.complex complex numpy.complex128, numpy.complex_, numpy.cdouble (equivalent)
    numpy.object object numpy.object_
    numpy.str str numpy.str_
    numpy.long int numpy.int_ (C long), numpy.longlong (largest integer type)
    numpy.unicode str numpy.unicode_

    There are similar AttributeError messages for these removals (listing them helps people find this Q&A in the search results):