在python或ImageMagick中后期处理热图
在没有模糊效果的情况下,如何使此热图看起来更清晰。我怎样才能用Python或ImageMagick来锐化它?另外,如何在背景上获得像素网格 以下是我用来获取当前图像的内容:在python或ImageMagick中后期处理热图,python,python-2.7,imagemagick,heatmap,Python,Python 2.7,Imagemagick,Heatmap,在没有模糊效果的情况下,如何使此热图看起来更清晰。我怎样才能用Python或ImageMagick来锐化它?另外,如何在背景上获得像素网格 以下是我用来获取当前图像的内容: maxsize = (1030, 2056) for i in range(1,334,1): img = Image.open('C:Desktop/Img/image'+'_'+ str(i)+'.png') img = img.resize(maxsize, Image.BICUBIC) img
maxsize = (1030, 2056)
for i in range(1,334,1):
img = Image.open('C:Desktop/Img/image'+'_'+ str(i)+'.png')
img = img.resize(maxsize, Image.BICUBIC)
img.save('C:/Desktop/Res/img'+'_'+ str(i)+'.png', dpi = (7040,7040))
我也尝试了ImageMagick,但没有多大帮助,至少在视觉上:
magick img_244.png -sharpen 0x3 out.png
非常感谢您,您导入的是什么模块?您需要的是最近邻插值,而不是双三次插值。大概是
img = img.resize(maxsize, Image.INTER_NEAREST)
在ImageMagick和OpenCV/python中,您可以使用kmeans处理图像。我有一个用于ImageMagick的bash unix shell脚本,可以实现这一点
kmeans -n 7 -m 5 g4Zwf.png result7.png
其中n是颜色数,m是最大迭代次数
然后,您可以使用我的脚本grid绘制线条,或者直接使用ImageMagick绘制线条。使用我的脚本,间距为100像素的网格提供:
grid -s 100,100 -c white result7.png result7g100.png
我的脚本在
有关OpenCV/Python,请参见和
OpenCV/Python还具有期望最大化,这可能比kmeans在颜色处理方面表现得更好。看见
和
我使用了PIL导入图像。我认为最近邻插值太大了,如果可以说的话,像素的大小太大了。因此,无法获得我们希望看到的平滑度。还有别的选择吗?我使用这个网站作为参考:你的原始图像所包含的信息并不比你在最近邻插值中看到的更多。我恐怕我帮不了你,只不过是提到了不同的问题。也许其中一个能让你看起来更像你想要的样子。您可以更改颜色映射,有关如何将matplotlib颜色映射与PIL一起使用,请参阅。我同意LUB。如果您有一个非常小的原始数据集,并且正在尝试扩展,那么通过使用-resize,您将由于像素插值而使其变得模糊。我在上面所做的只是尝试把它分成独特的颜色。如果您想放大,您应该在ImageMagick中使用-scale或尝试使用-filter carton-resize,这可能会根据您的放大程度提供更清晰的结果。但LUB是正确的。除了使用-scale进行像素复制之外,您不会获得更多的信息。