OpenCV-Python: img 不是 numpy 数组,也不是标量
OpenCV-Python: img is not a numpy array, neither a scalar
我正在尝试编写保存图像功能。预计以下代码会创建原始图像的副本,如 saved-test-image.jpg.
originalImage = "test-image.jpg"
savedImage = cv2.imwrite("saved-test-image.jpg",originalImage)
这些行的执行给出了以下结果:
Traceback (most recent call last):
File "UnitTest.py", line 159, in test_save_and_delete_image
savedImage = cv2.imwrite('unittest-images/saved-test-image.jpg', originalImage)
TypeError: img is not a numpy array, neither a scalar
这里需要改什么?
嗯opencv
是对的,你保存originalImage
,但是originalImage
是一个字符串(文件名,你的第一行)。
你需要先cv2.imread(..)
你的图像到一个numpy数组:
originalImage = <b>cv2.imread(</b>"test-image.jpg"<b>)</b>
savedImage = cv2.imwrite("saved-test-image.jpg",originalImage)
如果你只是想复制一个图像文件,但是没有必要将它加载到内存中,你可以简单地复制文件,而不使用opencv:
from shutil import copyfile
originalImage = "test-image.jpg"
copyfile(originalImage,"saved-test-image.jpg")
在这种情况下,它只会复制文件 - 无论其内容是什么 - 因此即使它是损坏的图像,或者根本不是图像,它也会被复制。
我正在尝试编写保存图像功能。预计以下代码会创建原始图像的副本,如 saved-test-image.jpg.
originalImage = "test-image.jpg"
savedImage = cv2.imwrite("saved-test-image.jpg",originalImage)
这些行的执行给出了以下结果:
Traceback (most recent call last):
File "UnitTest.py", line 159, in test_save_and_delete_image
savedImage = cv2.imwrite('unittest-images/saved-test-image.jpg', originalImage)
TypeError: img is not a numpy array, neither a scalar
这里需要改什么?
嗯opencv
是对的,你保存originalImage
,但是originalImage
是一个字符串(文件名,你的第一行)。
你需要先cv2.imread(..)
你的图像到一个numpy数组:
originalImage = <b>cv2.imread(</b>"test-image.jpg"<b>)</b>
savedImage = cv2.imwrite("saved-test-image.jpg",originalImage)
如果你只是想复制一个图像文件,但是没有必要将它加载到内存中,你可以简单地复制文件,而不使用opencv:
from shutil import copyfile
originalImage = "test-image.jpg"
copyfile(originalImage,"saved-test-image.jpg")
在这种情况下,它只会复制文件 - 无论其内容是什么 - 因此即使它是损坏的图像,或者根本不是图像,它也会被复制。