用tensorflow将图片灰度化,很简单的一个问题,几句代码就OK了。但是这里边有很多坑,稍不留神,半天都不一定找得到原因。我下面说说我遇到的坑,希望看到这篇博客的你,别遇到。
先给代码,再介绍我遇到的坑:
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
from keras_preprocessing.image import load_img,img_to_array
%matplotlib inline
image_name = 'cat1.jpg'
image = load_img(image_name)
#将图片转换为数组
image = img_to_array(image)
#转为黑白
image = tf.image.rgb_to_grayscale(image)
image = tf.squeeze(image,2)
plt.imshow(image)
步骤很简单:
- 读取彩色图片
- 转换为黑白图片
- 显示这个黑白图片
就这简简单单的几步,我却遇到了很多问题,不过在解决问题的过程中又学到了很多,还是很有收获的。
-
坑一:
#坑一、不将image转换为数组,直接用rgb_to_grayscale方法,将图片转为灰度图片
image_name = 'cat1.jpg'
image = load_img(image_name)
#转为黑白
image = tf.image.rgb_to_grayscale(image)
执行上边代码会报错如下图,不能直接将一个图片转化为一个tensor。这里需要先将image对象转化为数组array。然后通过百度学会了img_to_array()方法。

本文详细介绍了使用TensorFlow将彩色图片转换为灰度图片的过程,并分享了在实现过程中遇到的常见问题及解决方法,包括如何正确转换图片为张量、调整图片维度以便于显示等。

5165

被折叠的 条评论
为什么被折叠?



