裁剪
from PIL import Image
im = Image.open('1.jpg')
region = im.crop((rect[0], rect[1], rect[2], rect[3]))
region.save('2')
叠加
from PIL import Image
im = Image.open('1.jpg')
im = im.convert('RGB')
im2 = Image.open('2.jpg')
im2 = im2.convert('RGBA')
r,g,b,a = im2.split()
im3 = Image.new('RGB', im2.size, (255, 0, 255))
im.paste(im3,(int(rect[0]), int(rect[1])), mask=r)
画矩形框
PIL
from PIL import Image
im = Image.open('1.jpg')
draw = ImageDraw.Draw(im)
# 左上角和右下角的坐标,和颜色
draw.rectangle((label[0], label[1], label[2], label[3]), outline =colors[int(label[4])])
im.save('2')
matplotlib
import cv2
import matplotlib
img = cv2.imread(detect_folder+'images/'+args.images.split('/')[-1])
(r, g, b)=cv2.split(img)
img=cv2.merge([b,g,r])
plt.imshow(img)
rect = plt.Rectangle((xmin, ymin), xmax - xmin,
ymax - ymin, fill=False,
edgecolor=color[label[4]],
linewidth=1.0)
plt.gca().add_patch(rect)
plt.savefig('2')
cv2 多边形
img = cv2.imread("./images/" + name + ".jpg")
rect = np.array(xy, np.int32)
pts = rect.reshape((-1,1,2))
img = cv2.polylines(img,[pts],True,(0,255,255))
cv2.imwrite('./out_img/' + name + '.jpg',img)
ps
- jpg格式的图片保存RGB三个通道
- PNG支持alpha通道,有RGBA四个通道