当前位置:网站首页>[200 opencv routines] 218 Multi line italic text watermark

[200 opencv routines] 218 Multi line italic text watermark

2022-07-04 09:51:00 Xiaobai youcans

OpenCV routine 200 piece General catalogue


【youcans Of OpenCV routine 200 piece 】218. Multi line oblique text watermark

8.1 Add multi line italic text watermark

A watermark is a sign superimposed on an image 、 Signature 、 Text or pattern , Used to protect the copyright of images .

First, add an image or text on the black background to make a watermark , Reuse cv.addWeight function , The watermark is added to the original image by overlapping and mixing .

The watermark pattern or text area can also be used as a mask , Use cv.add Function to modify the pixel value of the mask area , Realize adding the watermark to the original image .


routine A4.10: Add a watermark to the image

    # A4.10  Add a watermark to the image 
    img = cv.imread("../images/imgLena.tif", 1)  #  Load the original image 
    h, w = img.shape[0], img.shape[1]

    # #  Generate watermark pattern 
    # logo = cv.imread("../images/logoXupt.png", 0) #  load  Logo
    # logoResize = cv.resize(logo, (100,100)) #  Adjust the size of the picture 
    # grayMark = np.zeros(img.shape[:2], np.uint8) #  Watermark black background 
    # grayMark[10:110,10:110] = logoResize #  Generate watermark pattern 

    #  Generate text watermark 
    mark = np.zeros(img.shape[:2], np.uint8)  #  Black background 
    for i in range(h//100):
        cv.putText(mark, "youcans2022", (50,70+100*i), cv.FONT_HERSHEY_SIMPLEX, 1.5, 255, 2)
    MAR = cv.getRotationMatrix2D((w//2,h//2), 45, 1.0)  #  rotate  45  degree 
    grayMark = cv.warpAffine(mark, MAR, (w,h))  #  Rotation transformation , The default is black fill 

    #  Add a watermark to the image  1
    markC3 = cv.merge([grayMark, grayMark, grayMark])
    imgMark1 = cv.addWeighted(img, 1, markC3, 0.25, 0)  #  Weighted addition image fusion 

    #  Add a watermark to the image 2
    imgMark2 = cv.add(img, 64, mask=grayMark)  #  Use the watermark pattern as a mask 

    plt.figure(figsize=(9, 6))
    plt.subplot(221), plt.title("original"), plt.axis('off')
    plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
    plt.subplot(222), plt.title("watermark"), plt.axis('off')
    plt.imshow(cv.cvtColor(markC3, cv.COLOR_BGR2RGB))
    plt.subplot(223), plt.title("watermark embedded"), plt.axis('off')
    plt.imshow(cv.cvtColor(imgMark1, cv.COLOR_BGR2RGB))
    plt.subplot(224), plt.title("watermark embedded"), plt.axis('off')
    plt.imshow(cv.cvtColor(imgMark1, cv.COLOR_BGR2RGB))
    plt.tight_layout()
    plt.show()

 Insert picture description here


 Insert picture description here


【 At the end of this section 】

Copyright notice :
[email protected] Original works , Reprint must be marked with the original link :(https://blog.csdn.net/youcans/article/details/125506829)
Copyright 2022 youcans, XUPT
Crated:2022-6-28
217. Mouse interaction to obtain polygon area
218. Multi line oblique text watermark

原网站

版权声明
本文为[Xiaobai youcans]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/185/202207040934151654.html