gpt4 book ai didi

opencv - 使用 tensorflow 读取的 OpenCV 图像进行可视化

转载 作者:太空宇宙 更新时间:2023-11-03 21:17:26 24 4
gpt4 key购买 nike

通过下面的代码,我使用 OpenCV 和 Tensorflow 读取了相同的图像。

import tensorflow as tf
import cv2

def get_image(image_path):
"""Reads the jpg image from image_path.
Returns the image as a tf.float32 tensor
Args:
image_path: tf.string tensor
Reuturn:
the decoded jpeg image casted to float32
"""
return tf.image.convert_image_dtype(
tf.image.decode_jpeg(
tf.read_file(image_path), channels=3),
dtype=tf.uint8)


path = "./images/2010_006748.jpg"
original_image = cv2.imread(path)

image_tensor = get_image(tf.constant(path))
# convert to uint8
image_tensor = tf.image.convert_image_dtype(image_tensor, dtype=tf.uint8)
with tf.Session() as sess:
image = sess.run(image_tensor)

cv2.imshow("tf", image)
cv2.imshow("original", original_image)
cv2.waitKey(0)

从图像中可以看出,OpenCV(正确的颜色)和 Tensorflow(错误的颜色)读取的图像之间存在差异。

tensorflow vs opencv

我尝试使用 cv2.normalize(image, image, 0, 255, cv2.NORM_MINMAX, dtype=cv2.CV_8UC3) 标准化 Tensorflow 图像的颜色,但没有任何改变。

我还尝试将图像读取为 tf.uint8(将初始转换为 tf.float32)但没有任何变化。

如何正确使用 OpenCV 显示使用 Tensorflow 读取的图像?

最佳答案

尝试:

bgr_img = cv2.cvtColor(original_image, cv2.COLOR_RGB2BGR)

关于opencv - 使用 tensorflow 读取的 OpenCV 图像进行可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38890525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com