作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有适当的方法将 cvimg 正确转换为张量而不会导致任何颜色失真?我通过存储2张图像进行了比较。一个使用 tensorflow 解码,另一个使用 openCV 完成
使用 tensorflow jpeg 编码器生成的图像
file_reader = tf.read_file(file_name, input_name)
if file_name.endswith(".png"):
image_reader = tf.image.decode_png(
file_reader, channels=3, name="png_reader")
elif file_name.endswith(".gif"):
image_reader = tf.squeeze(
tf.image.decode_gif(file_reader, name="gif_reader"))
elif file_name.endswith(".bmp"):
image_reader = tf.image.decode_bmp(file_reader, name="bmp_reader")
else:
image_reader = tf.image.decode_jpeg(
file_reader, channels=3, name="jpeg_reader")
image_reader = tf.convert_to_tensor(cvimg)
最佳答案
OpenCV 以 BGR 格式加载图像,而 Tensorflow 使用 RGB 格式(如您所见,图像的蓝色和红色 channel 已交换)。
因此,如果您想读取使用 OpenCV 加载的图像(我想 cvimg
),您只需将颜色 channel 从 BGR 交换为 RGB:
image_reader = tf.convert_to_tensor(cvimg)
b, g, r = tf.unstack (image_reader, axis=-1)
image_reader = tf.stack([r, g, b], axis=-1)
关于opencv - 将图像从 cvimg 正确转换为张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55440410/
是否有适当的方法将 cvimg 正确转换为张量而不会导致任何颜色失真?我通过存储2张图像进行了比较。一个使用 tensorflow 解码,另一个使用 openCV 完成 使用 tensorflow j
我是一名优秀的程序员,十分优秀!