【问题标题】:Generate Transparent Text Image OpenCV生成透明文本图像 OpenCV
【发布时间】:2018-07-08 12:27:13
【问题描述】:

如何在 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 通道。但是有没有更好的解决方案。

【问题讨论】:

  • 您要使现有图像透明还是创建一个新图像?
  • 我想只用文本像素创建一个新的。

标签: python opencv image-processing


【解决方案1】:
image = np.zeros((100,300,4),np.uint8)
cv2.putText(image, "Test String", (10,50),cv2.FONT_HERSHEY_PLAIN,3,(0,0,255,255))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2014-07-21
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多