保存相同的数据 –

我有两种在代码中保存图像数据的方法,一种仅将其值保存为灰度值,另一种生成热图图像:

def(自我,姓名):

 

将图像数据保存为 PNG 格式

:param name: 文件名

”“”

= 图像。 new(“RGB”, (self.width, self.))

= 。

对于范围内的 x(self.width):

对于范围内的 y(self.):

颜色=自我。 数据[x][y]

颜色 = int(Utils.(颜色, self., self., 0, 255))

((x,y),(颜色,颜色,颜色))

.save(名称+“.png”,“PNG”)

def 年龄(自己,姓名):

”“”

图像的热图

:param name: 文件名

”“”

#自己。()

plt.()

Fig = plt.(self.data, =[-1, 1, -1, 1])

plt.(图)

plt.(名称+”.png”)

plt。 关闭()

代表我的数据的类是这样的:

班级:

def(自身,宽度,):

自己。 宽度=宽度

自己。 =

自己。 数据 = []

对于范围(宽度)内的 i:

自己。 数据。([0] * )

为两种方法传递相同的数据

.(“/ts/”)

.age(“/ts/”)

我得到一张图像相对于另一张图像旋转。

方法一:

方法二:

我不明白为什么,但我必须解决这个问题。

任何帮助将不胜感激。

提前致谢。

显然,数据采用行优先格式,但您的迭代就像采用列优先格式一样,这会将整个数据旋转 -90 度。

一个快速修复方法是替换这一行:

颜色=自我。 数据[x][y]

欧元 | 用这个:

颜色=自我。 数据[y][x]

(虽然 data 可能是一个数组,所以你真的应该使用 self.data[y, x] 代替。)

更清洁的解决方案是:

对于范围内的行(自身):

对于范围内的列(self.width):

颜色=自我。 数据[行][列]

颜色 = int(Utils.(颜色, self., self., 0, 255))

((列,行),(颜色,颜色,颜色))

从文档中可能并不完全清楚这一点,但如果你看一下,它会解释它采用形状 (n, m) 的类似数组的对象并将其显示为 MxN 图像。

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注