如何在python opencv
中创建除给定文本的像素以外的透明图像?
我在C++
中发现了这个solution,它创建的图像没有透明度。因此,当将它们合并在一起时,该解决方案只会添加像素。这会使文本像素强度随背景图像变化。
Mat img = imread("lenna.png", CV_LOAD_IMAGE_COLOR);
// Create and rotate the text
Mat textImg = Mat::zeros(img.rows, img.cols, img.type());
putText(textImg, "stackoverflow", Point(0, img.cols/2), FONT_HERSHEY_SIMPLEX, 2.0,Scalar(20,20,20),2);
// Sum the images (add the text to the original img)
img= img+textImg;
namedWindow("WaterMark", CV_WINDOW_AUTOSIZE);
imshow("WaterMark", img);
因此,一种方法是根据文本制作遮罩图像,然后使用其生成Alpha通道。但这是否有更好的解决方案。