基于python-yolo的批量截图
2020-06-28 09:42:52 来源:易采站长站 作者:易采站长站整理
本人介于做python潮水识别期间(已完成潮水识别)由于图片需要做预先的处理,因此在给定的图片素材中,需要截取识别框内的图片,由于图片中有多个识别框,因此,需要数量的不断叠加,事先定义一个整形变量tt,在每次执行一遍后让tt自动加1,从而完成不重复!


上述第两张图由test开始,到tt=tt+1为实现截图的代码,代码复制如下:
test=thickness
box=(left+test,top+test,right-test,bottom-test)
region=image.crop(box)
region.save('D:/tensorflowyolo3/VOCdevkit/VOC2007/cut picture/'+str(tt)+'.jpg')
# region.show()
tt=tt+1
本人保存地址为d盘(可自选)存在自己的项目文件夹中。
完整的识别和截取代码如下:
# -*- coding: utf-8 -*-
"""
Class definition of YOLO_v3 style detection model on image_tie and video
"""import colorsys
import os
from timeit import default_timer as timer
import cv2
import numpy as np
from keras import backend as K
from keras.models import load_model
from keras.layers import Input
from PIL import Image, ImageFont, ImageDraw
from yolo3.model import yolo_eval, yolo_body, tiny_yolo_body
from yolo3.utils import letterbox_image
import os
from keras.utils import multi_gpu_model
count=0
tt=3461
class YOLO(object):
_defaults = {
"model_path": 'model_data/trained_weights_final.h5', #训练模型的位置
"anchors_path": 'model_data/yolo_anchors.txt', #anchors列表
"classes_path": 'model_data/voc_classes.txt', #分类文件
"score" : 0.1,
"iou" : 0.3,
"model_image_size" : (416, 416),
"gpu_num" : 1,
}
@classmethod
def get_defaults(cls, n):
if n in cls._defaults:
return cls._defaults[n] else:
return "Unrecognized attribute name '" + n + "'"
def __init__(self, **kwargs):
self.__dict__.update(self._defaults) # set up default values
self.__dict__.update(kwargs) # and update with user overrides
self.class_names = self._get_class()
self.anchors = self._get_anchors()
self.sess = K.get_session()
self.boxes, self.scores, self.classes = self.generate()
def _get_class(self):













闽公网安备 35020302000061号