保存相同的数据 –
我有两种在代码中保存图像数据的方法,一种仅将其值保存为灰度值,另一种生成热图图像:
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 图像。
好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。