opencv,python对一张图片添加logo操作,把logo放在左上角,查看一下代码:
import cv2
import numpy as np
img_logo = cv2.imread('logo.jpg')
img = cv2.imread('img.png')
# 把logo缩放到101x101
img_logo_resized = cv2.resize(img_logo, (100, 50))
w = 0.6
img[10:60, -110:-10, :] = w*img_logo_resized + (1-w)*img[10:60, -110:-10, :]
img_marked = img_marked.astype(np.uint8)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
1. logo大小是(100,50)对应的就是长、宽;
2.w是权重,w越大,logo越明显;w越小,logo越透明;
3.要选择图片要添加logo的位置,这个代码img[10:60, -110:-10, :]是选择好位置的图像块;
这里的img[10:60, -110:-10, :]中,第一个参数应该是行(60-10=50),第二个参数对应的是列(100);
图像的行对应的是图像的高,列是对应图像的长;
注意:logo一定要和图片所选择的大小要一样。不然会报错的。
可以用以下代码查看选择好的图像块:
img1=img[10:60, -110:-10, :]
cv2.imshow('img1', img1)