so1*_*311 8 python opencv image
有人知道OpenCV是否能够加载多帧TIFF堆栈?我正在使用带有python 2.6的OpenCV 2.2.0.
Joh*_*our 12
OpenCV 现在能够使用该imreadmulti
函数读取多页 TIFF。请参阅 OpenCV 3.4 文档中的此页面:
https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#ga4dd47c9ae3d55cc42286cff005825e31
Cor*_*ole 10
虽然OpenCV无法打开多帧TIFF文件,但您可以使用PIL打开图像,然后将数据传递给OpenCV.我还没有能够使用新的"cv2"命名空间
tiff = Image.open('sample.tif')
try:
while 1:
# Convert PIL image to OpenCV
image = cv.CreateImageHeader(tiff.size, cv.IPL_DEPTH_8U, 1)
cv.SetData(image, tiff.tostring()) # It's "tostring" and not "toString()"!
# Do whatever you're going to do with OpenCV data
tiff.seek(tiff.tell()+1)
except EOFError:
pass
Run Code Online (Sandbox Code Playgroud)
不幸的是,OpenCV不支持TIFF目录,只能从多帧TIFF文件中读取第一帧.
您可以使用名为 imreadmulti 的文件读取函数在 OpenCV 中加载多帧 tiff 文件。这是例子
ret, images = cv2.imreadmulti('<path_of_tiff_files>.tiff', [], cv2.IMREAD_ANYCOLOR)
Run Code Online (Sandbox Code Playgroud)
图像将是 tiff 文件中的帧列表。假设您想查看第二张图片,您可以访问为
img = images[1] # note 0 based indexing
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6560 次 |
最近记录: |