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...
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
2 Answers
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.
The error you're seeing (AttributeError: module 'numpy' has no attribute 'int') suggests that you're trying to use numpy.int, which isn't an attribute in numpy. However, there's numpy.int_, which is the exact equivalent of Python's built-in int but it's available for array operations inside numpy.
If you're not working within the numpy framework for the task causing this error, it's recommended to simply use Python's built-in int.
numpy.int (along with other similar types) was deprecated in NumPy 1.20 and subsequently removed in NumPy 1.24. Therefore, using numpy.int in versions after 1.24 will raise an error. Since numpy.int is now removed, using native Python's int type is the easiest replacement when numpy's specific capabilities aren't needed.