我想使用 Python OpenCV 从 tiff 图像中读取 alpha 通道。我正在使用 Enthought Canopy 和 OpenCV 2.4.5-3 模块。
我按照 OpenCV 网站的教程使用 cv2.imread,但它似乎不起作用。
我现在拥有的是:
import cv2
image = cv2.imread('image.tif', -1)
然后我用了:print (image.shape)
,它仍然显示 (8192, 8192, 3)。但我用Matlab读取同一张图像,我可以看到该图像的尺寸是(8192, 8192, 4)。
我不知道应该怎么做才能读取该图像的 Alpha 通道。
提前致谢!!
南
这是一个老问题,但以防万一其他人偶然发现它:如果 img.tiff 是 4 通道 TIFF,那么
import cv2
img = cv2.imread('img.tiff', cv2.IMREAD_UNCHANGED)
print img.shape
产量(212,296,4)如预期。
如果您随后使用
channels = cv2.split(img)
你可以参考alpha层(channels[3]
) - 例如,作为面具。
这个想法取自如何使用 Gimp / OpenCV Color 将图像分离为彩色 RGB 层? https://stackoverflow.com/questions/19213407/how-do-i-use-gimp-opencv-color-to-separate-images-into-coloured-rgb-layers它巧妙地使用了一个假图层并且merge
以便能够恢复各个 RGB 层的实际颜色。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)