python - 为什么 tf.image.decode_jpeg 可以解码 png?

标签 python image tensorflow

今天我正在测试一些 tensorflow (python) 代码。它是著名的 MNIST 集上的神经网络。

一切正常,所以我通读了代码并研究了该网络的结构。

当涉及到图片输入时,我发现了如下代码:

image_string = tf.read_file(filename)

image_decoded = tf.image.decode_jpeg(image_string, channels=3)

代码使用“decode_jpeg”而不是“decode_png”。而且我没有看到任何错误。

但是,我 100% 确定图像是 PNG 格式。

我用过

od -c -b 1.png

查看这些图像,它们是 PNG。

那么,为什么“decode_jpeg”可以在 PNG 上工作?是否有任何可能由此引起的潜在问题?

最佳答案

documentation for tensorflow状态:

This op also supports decoding PNGs and non-animated GIFs since the interface is the same, though it is cleaner to use tf.image.decode_image.

所以本质上这是一个设计决策,因为接口(interface)是相同的,只是处理它,而不是抛出一个错误,迫使用户使用正确的 API 调用。

关于python - 为什么 tf.image.decode_jpeg 可以解码 png?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52092881/

相关文章:

java - 如何使用 Apache POI 锁定 docx 中图像的长宽比?

image - JPEG 压缩实现问题

python - 最小示例 opencv、pyinstaller、conda

ios - 如何在 swift 中从 nsimage 创建灰度图像?

使用 gdb 为 C 模块调试 Python 源代码

python - Tensorflow:如何设计自定义成本函数?

tensorflow - tf.group 和 tf.control_dependencies 有什么区别?

python - Tensorflow - 依赖于批量大小的预测输出

python - Django 中的 "app"是什么?

python - Spark DataFrame 运算符(唯一、乘法)