import cv2 from PIL import Image import os import matplotlib as plt def SemiLogoPaste(orimage,Logoimage,radio,image_path):#orimage:cv2 image:cv2 or_W = orimage.size[0] or_H = orimage.size[1] #Logoimage = cv2.resize(Logoimage, (int(Logoimage.shape[1] * radio), int(Logoimage.shape[0] * radio))) #Logoimage = Image.fromarray(cv2.cvtColor(Logoimage, cv2.COLOR_BGR2RGB)) Logo_W = Logoimage.shape[1] Logo_H = Logoimage.shape[0] for j in range(Logo_W): for i in range(Logo_H): if Logoimage[i][j][0]==Logoimage[i][j][1]==Logoimage[i][j][2]==255: Logoimage[i][j][0] = 0 Logoimage[i][j][1] = 0 Logoimage[i][j][2] = 0 cv2.imshow("Logo",Logoimage) cv2.waitKey() x_right = int(or_W/20.0*19.0) y_right = int(or_H/10.0*9.5) x_left = x_right - Logo_W y_left = y_right - Logo_H orimage.paste(Logoimage, (x_left, y_left, x_right, y_right)) orimage.save(image_path) if __name__ == '__main__': Logoimage = cv2.imread("/data1/Hatcher/model/MPKFNet/logo.png") orimage = Image.open("/data1/Hatcher/model/data_MPKFNet/data/VOC/VOCdevkit/VOC00401/check/0004_20220304_0001.jpg") SemiLogoPaste(orimage,Logoimage,1.5,"./LOGOresult.jpg")