如何重塑Numpy阵列?
我是python新手,我正在尝试可视化一个.txt文件。我试着用NumPy数组来可视化它。我已经成功地使用matplotlib并对其进行了打印,但我想尝试以其自身的高质量对其进行正常可视化,而无需打印或将其转换为图像格式,因为它会将值更改为0-255。这些值不是像素值,而是亮度值。我怎样才能做到呢?非常感谢您的帮助。事先非常感谢你如何重塑Numpy阵列?,numpy,image-processing,computer-vision,data-visualization,Numpy,Image Processing,Computer Vision,Data Visualization,我是python新手,我正在尝试可视化一个.txt文件。我试着用NumPy数组来可视化它。我已经成功地使用matplotlib并对其进行了打印,但我想尝试以其自身的高质量对其进行正常可视化,而无需打印或将其转换为图像格式,因为它会将值更改为0-255。这些值不是像素值,而是亮度值。我怎样才能做到呢?非常感谢您的帮助。事先非常感谢你 ROWS = 1392 COLS = 1040 file = open('filename') data = pd.read_table(file,
ROWS = 1392
COLS = 1040
file = open('filename')
data = pd.read_table(file, header=None, skiprows=8, decimal=",")
data = data.iloc[:, :]
array = np.reshape(data,(ROWS, COLS))
在重塑部分,我遇到了无法将大小数组重塑为形状(行、列)的错误。我正在努力理解问题所在,以及“正常”方法和“正常”质量的含义 您的数据似乎与代码不匹配。如果运行此命令打印行号和行上的字段数:
awk '{print NR,NF}' *txt
1 1
2 1
3 2
4 2
5 2
6 2
7 1393
8 1393
9 1393
10 1393
11 1393
12 1393
13 1393
...
...
1043 1393
1044 1393
1045 1393
1046 1393
你会注意到:
- 开始时要跳过6行,而不是8行
- 每行有1393项,而不是1040项
- 有1040行,而不是1392行
如果要将值保存/表示为真浮点数,可以将其保存为可表示浮点数的TIFF文件,或者使用至少由GIMP、Photoshop和ImageMagick理解的文件
import cv2
... your existing code ...
# Make data frame into Numpy array
data = data.iloc[:, :]
na = np.array(data)
# Save as TIFF
cv2.imwrite('result.tif', na)
您好,很抱歉造成了混乱。Normal是指在matplotlib中以图形的形式直观地查看数据,而Normal quality是指图像的原始质量,无需将其转换为Jpeg、png或任何其他图像格式。就像直观地看到数据一样。MATLAB有一个特性,它以自己的质量可视化数据,而无需在图像查看器中转换为任何图像格式。谢谢你的帮助。