将检测到的目标区域存成图片,需要用到坐标点截图手段
本文参考python opencv手动截取图片的部分区域并保存
博主代码:
# -*- coding:utf-8 -*-
import cv2
class UseCv:
def __init__(self):
self.path = 'lena.jpg'
def cut(self):
img = cv2.imread(self.path, flags=cv2.IMREAD_COLOR)
bbox = cv2.selectROI(img, False)
cut = img[bbox[1]:bbox[1]+bbox[3], bbox[0]:bbox[0]+bbox[2]]
cv2.imwrite('cut.jpg', cut)
if __name__ == '__main__':
UseCv().cut()
其实就是调用cv利用鼠标选择roi的函数,其中bbox[0],bbox[1]为左上点的x1,y1;bbox[2],bbox[3]为右下点的x2,y2。
那么如果想按照坐标点自动截图只需要:
import cv2
class UseCv:
def __init__(self):
self.path = './data/video/1.png'
def cut(self):
img = cv2.imread(self.path)
x1,y1=5,10
x2,y2=150,200
cut=img[y1:y2,x1:x2]
cv2.imwrite('cut.jpg', cut)
if __name__ == '__main__':
UseCv().cut()