【发布时间】:2019-02-26 16:23:53
【问题描述】:
我有一个包含大量 .tif 图像的文件。
第 1 部分。TIFF 图像预览
当我尝试通过单击 jupyter 文件夹中的它们(看起来像 the Jupyter folder)来查看它们时,我收到以下消息:
错误! D:...\image.tif 不是 UTF-8 编码的
相反,如果我单击 Jupyter 文件夹中的 png,Jupyter 会显示图像。
知道我的文件夹中有超过 1000 张图片,我该如何修复我的图片?
不过,如果我写:
sph = cv2.imread('A1.tif',-1)
plt.imshow(sph)
plt.show()
我确实得到了图像:image of 'A1.tif'。
现在我也检查了:
import chardet
chardet.detect('A1.det')
--> {'confidence': 1.0, 'encoding': 'ascii', 'language': ''} # result
所以显然我是用 ascii 编码的。它与 utf-8 相同还是我应该转换它们?
编辑:回答: 在其中一个 cmets 中,@FabienP 回答“根据官方文档,Jupyter 实验室不支持 TIFF 格式的图像预览(截至目前)”,回答了这个问题问题。
第 2 部分:用 TIFF 图像编写视频
我还有一个问题,我不知道这两个问题是否相关。
我想用它们制作视频。
import cv2
import os
image_folder = 'A549_A1'
video_name = 'video.avi'
images = [img for img in os.listdir(image_folder) if img.endswith(".tif")]
frame = cv2.imread(os.path.join(image_folder, images[0]))
height, width, layers = frame.shape
video = cv2.VideoWriter(video_name, 0, 1, (width,height))
for image in images:
video.write(cv2.imread(os.path.join(image_folder, image)))
cv2.destroyAllWindows()
video.release()
但是我没有得到预期的视频,而是一步一步得到了一个包含许多图像的奇怪视频:caption of the video。您可以将其与上图进行比较以检查它是否不正常。
我该如何解决这个问题?
【问题讨论】:
-
这非常困惑。 UTF-8 是一种文本编码;对于根本不是文本的数据,要求它绝对没有意义。
-
如果您按照最小、完整、可验证示例的要求显示您的代码,您将更有可能得到答案stackoverflow.com/help/mcve
-
@tripleee 你的意思是我的问题很混乱还是错误信息很混乱?
-
根据官方文档,Jupyter lab does not support TIFF 格式的图片预览(截至目前)。
-
如果按照建议,不支持 TIFF,您可以使用 ImageMagick 在命令提示符中使用此命令制作所有 TIFF 文件的 PNG 版本>
magick mogrify -format PNG *.tif不过,如果你真的想用 OpenCV 阅读它们,这不是必需的,因为它无论如何都能理解 TIFF。