gpt4 book ai didi

image-processing - 在 OpenCV 中检查像素的透明度

转载 作者:太空宇宙 更新时间:2023-11-03 23:02:33 25 4
gpt4 key购买 nike

如何在 OpenCV 中检查像素是否透明?我有一个带有透明部分的 png 图像,我想将 rgb 图像转换为 hsv,然后更改像素的色调。我需要透明像素在转换后保持透明。

请帮忙。

最佳答案

您可以试试 GDAL。兼容CV2

这些链接可能会有用。

Reading Raster Data with GDAL

GDAL API Tutorial

import gdal
from gdalconst import *
import numpy as np

ds = gdal.Open('lena.jpg', GA_ReadOnly)
B = ds.GetRasterBand(1)
G = ds.GetRasterBand(2)
R = ds.GetRasterBand(3)
A = ds.GetRasterBand(4) // Alpha

height, width = B.shape
img = np.zeros(height, width, 3)
img[:, :, 0] = B
img[:, :, 1] = G
img[:, :, 2] = R

// Do something you want

ds.GetRasterBand(1).WriteArray(new_B)
ds.GetRasterBand(2).WriteArray(new_G)
ds.GetRasterBand(3).WriteArray(new_R)
// The forth band dose not need to be changed

// Close image, the changes is writen in the source file
ds = None

// Note that I did not test this code

关于image-processing - 在 OpenCV 中检查像素的透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13679231/

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