如何在Python中为OpenCV minMaxLoc函数创建Mask矩阵变量?

2024-10-01 19:23:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中使用OpenCV。在

我试图创建一个Mask矩阵变量,用于这个函数:cv.minMaxLoc。矩阵变量的大小应该与我的模板图像相同,类型为CV_8UC1。在

我的模板图像有一个alpha通道,它只由0%100%透明像素组成。如何从图像中提取alpha通道数据并将其放入0 = 100% transparency和{}矩阵中?在


Tags: 数据函数图像alpha模板类型矩阵mask
1条回答
网友
1楼 · 发布于 2024-10-01 19:23:12
import numpy as np
import cv
from PIL import Image

# open the image
img = Image.open('./pic.png', 'r')

r,g,b, alpha_channel = img.split()

mask = np.array(alpha_channel)

# all elements in alpha_channel that have value 0 
# are set to 1 in the mask matrix
mask[alpha_channel==0] = 1

# all elements in alpha_channel that have value 100
# are set to 0 in the mask matrix
mask[alpha_channel==100] = 0

其他岗位学分: How to get alpha value of a PNG image with PIL?Converting numpy array having image data to CvMat

要将numpy数组转换为cvmat,请执行以下操作:

^{pr2}$

检查掩码的数据类型。应该是dtype('uint8') 当我转换它时,我的简历 cvmat(类型=42424000 8UC1行=1245列=2400步进=2400)

我不是opencv方面的专家,但在我看来,8UC1是根据dtype是uint8这一事实自动选择的(我在这里猜测是因为我找不到关于这个的文档)。在

相关问题 更多 >

    热门问题