JupyterNotebook 中使用什么来输出,可以保证显示的是原图像而不经任何的重新采样处理?

234 天前
 aldehyde
真心求问,先谢过各位大佬

是这样,我想做一个小东西来演示不同的采样方式对图像处理的效果对比,但是好像 matplotlib 的 imshow 首先会进行一些缩放,然后也会进行一次重新采样。这样的话,手写的采样方式的对比就会不太明显。

目测直接用 ski.io.imshow 是不会进行再采样的,但是这个好像一次只能输出一张图像?就不能像 plot 的 sub 一样把好几张图放一块

目前在考虑把数组编码然后丢给 PIL……这样麻烦一点但是不太会出错,只是自己对这方面也不太熟悉所以可能要摸索一会。



P.S.分享一个最近也是写这个项目的时候学到的小知识,之前手动写直方图均衡化的时候发现,plt.imshow 默认会针对图像的灰度值值域映射到 0~255 ,而不是以本身的值去进行显示,而 ski.io.imshow 会很诚实地将原来的图像反映出来。这样做是因为图像灰度级一般来说有两种表达方式( 0~1 ,0~255 ),更深的图像(比如 10bit )也有其他的表达方式,而 plt 通过灰度值值域映射到输出可显示的最大最小值就统一了这些表达方式( matlab 也是这么做的)。解决的方案是在 plt.imshow 中加两个参数,`vmin=0, vmax=255`
846 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1028812

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX