下面是将图像转换为NumPy数组并保存为CSV文件的完整攻略,过程中将提供两条示例说明。
准备工作
在进行图片转换之前,我们需要引入 NumPy 和 OpenCV 库。如果你已经安装了这两个库,直接在代码中引用即可。如果还没有安装,则可以使用以下命令进行安装:
pip install numpy
pip install opencv-python
读取图像并存储为NumPy数组
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.png', cv2.IMREAD_GRAYSCALE)
# 将图像存储为NumPy数组
array = np.array(img)
# 打印数组
print(array)
以上代码首先使用 OpenCV 库读取名为 test.png 的图像,并将其转换为灰度图像。接着将图像存储为 NumPy 数组并打印出来。
将NumPy数组保存为CSV文件
import numpy as np
# 生成一个 NumPy 数组
array = np.array([[1,2,3],[4,5,6],[7,8,9]])
# 将数组保存为CSV文件
np.savetxt("test.csv", array, delimiter=",")
# 读取CSV文件
data = np.genfromtxt("test.csv", delimiter=",")
print(data)
以上代码首先生成一个NumPy数组,然后使用np.savetxt将数组保存为名为test.csv的CSV文件,并指定逗号为分隔符。最后使用np.genfromtxt读取 CSV 文件并打印出来。
将图像转换为 NumPy 数组并保存为 CSV 文件
import cv2
import numpy as np
#读取图像并存储为数组
img = cv2.imread('test.png', cv2.IMREAD_GRAYSCALE)
array = np.array(img)
#将数组保存为CSV文件
np.savetxt("test.csv", array, delimiter=",")
#读取CSV文件并重新生成图像
data = np.genfromtxt("test.csv", delimiter=",")
new_img = data.astype(np.uint8)
cv2.imwrite('new_test.png', new_img)
以上代码首先使用 OpenCV 库读取名为 test.png 的图像,并将其转换为灰度图像。接着将图像存储为 NumPy 数组并使用 np.savetxt
将其保存为名为 test.csv 的 CSV 文件。最后使用 np.genfromtxt
读取 CSV 文件并将其转换为 NumPy 数组,之后将数组转换为图像并将其保存为名为 new_test.png 的图像文件。
注意:要将 NumPy 数组转换为图像,需要使用 astype(np.uint8)
将数据类型转换为 uint8
。否则,图像可能无法正常显示。
至此,以上就是将图像转换为 NumPy 数组并保存为 CSV 文件的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用Python将图像转换为NumPy数组并保存为CSV文件 - Python技术站