![](/img/trans.png)
[英]how to convert alpha channel of the image to white color using opencv python?
[英]How to read the alpha channel of a TIFF image in Python OpenCV?
我想使用Python OpenCV從tiff圖像中讀取alpha通道。 我正在使用Enthought Canopy和OpenCV 2.4.5-3模塊。
我使用cv2.imread跟隨OpenCV網站的教程,但它似乎不起作用。
我現在擁有的是:
import cv2
image = cv2.imread('image.tif', -1)
然后我使用: print (image.shape)
,它仍然顯示print (image.shape)
)。 但是我使用Matlab來讀取相同的圖像,我可以看到這個圖像的尺寸是(8192,8192,4)。
我不知道該怎么做才能讀取此圖像的alpha通道。
提前致謝!! 楠
這是一個老問題,但萬一其他人偶然發現它:如果img.tiff是一個4通道TIFF,那么
import cv2
img = cv2.imread('img.tiff', cv2.IMREAD_UNCHANGED)
print img.shape
產率(212296,4)如預期。
如果你然后使用
channels = cv2.split(img)
你可以引用alpha層( channels[3]
) - 例如,作為掩碼。
這個想法取自我如何使用Gimp / OpenCV Color將圖像分成彩色RGB層? 巧妙地使用偽圖層並merge
以便以其實際顏色恢復各個RGB圖層。
我在通過PIL庫將原始圖像轉換為RBGA格式時找到了解決這個問題的方法。
from PIL import Image
import numpy as np
import cv2
path_to_image = 'myimg.png'
image = Image.open(path_to_image).convert('RGBA')
image.save(path_to_image)
image = cv2.imread(path_to_image, cv2.IMREAD_UNCHANGED)
print image.shape
出>(800,689,4)
我解決了同樣的問題:
pip install --upgrade opencv-python
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.