【发布时间】:2014-09-27 18:58:24
【问题描述】:
我将原始图像数据存储在一个文本文件中,格式如下,我想将其设为二维数组并将其转换为灰度。
0
0
0
0
24
243
227
223
224
225
227
228
228
我想做的是获取这些数据,将其转换为灰度,然后显示图像。我的计划是使用 numpy ......我在 matlab 中有这个工作,但我很难在 python 中实现它
我已尝试执行以下操作:
import numpy as np
from PIL import Image
from pylab import *
ROWS = 144
COLUMNS = 175
raw_image = []
lines = [line.strip().split(',') for line in open('CAMERA.txt')
for i in lines:
raw_image.append(i)
mat_image = np.zeros((ROWS, COLUMNS), dtype = int)
for i in rage(ROWS):
for j in range(COLUMNS):
mat_image.itemset(i, j, raw_image[(i-1)*COLUMNS + j])
plt.gray()
axes = app.image.add_subplot(111)
self.im = Image.fromarray(mat_image)
axes.imshow(self.im)
app.imageCanvas.draw()
我也试过这样做:
np.reshape(raw_image, ROWS, COLUMNS)
但是,这些方法都不起作用。有没有人有什么建议?
提前致谢。
【问题讨论】:
-
我读了你的问题,但我不完全理解你的问题是什么,所以也许你可以澄清一下(有什么问题?发布堆栈跟踪)。如果您阅读以下page,也许会有所帮助。它是使用 matplotlib 绘制图像(也是灰度)的教程。
标签: python numpy reshape grayscale imshow