5、Python在图片上进行框图

本文介绍如何利用Python在图像上进行区域标注,并通过代码实现固定位置的框图检测,同时涵盖了根据坐标输入进行框图操作的方法。
摘要由CSDN通过智能技术生成

问题描述:使用labelme对一副图片进行了区域标注使用代码进行检测效果(固定位置框图)和输入坐标

 

# -*- coding: utf-8 -*-
import os
import sys
import json
import io
import numpy as np
import cv2
path='./'



def file_name(file_dir):
    L = []
    for root, dirs, files in os.walk(file_dir):
        for file in files:
            if os.path.splitext(file)[1] == '.json':
                L.append(os.path.join(root , file))
        return L

for name in enumerate(file_name(path)): 
        point_list=[]
        m_path =name[1]
        #print 'm_path=',m_path
        dir=os.path.dirname(m_path) 
        file_json = io.open(m_path,'r',encoding='utf-8') 
        json_data = file_json.read()
        d
抱歉,目前并不存在 YOLOv7,可能是您想表达 YOLOv3 或 YOLOv4 的结构框图。以下是使用 Python 画出 YOLOv4-tiny 的结构框图的示例代码: ```python import tensorflow as tf from tensorflow.keras.layers import Conv2D, Input, LeakyReLU, ZeroPadding2D, UpSampling2D, Concatenate def darknet_conv(input_tensor, num_filters, kernel_size, strides=1, batch_norm=True): x = Conv2D(filters=num_filters, kernel_size=kernel_size, strides=strides, padding='same', use_bias=not batch_norm, kernel_regularizer=tf.keras.regularizers.l2(0.0005))(input_tensor) if batch_norm: x = tf.keras.layers.BatchNormalization()(x) x = LeakyReLU(alpha=0.1)(x) return x def darknet_residual(input_tensor, num_filters): x = darknet_conv(input_tensor, num_filters // 2, kernel_size=1) x = darknet_conv(x, num_filters, kernel_size=3) x = tf.keras.layers.Add()([input_tensor, x]) return x def darknet_block(input_tensor, num_filters, num_blocks): x = darknet_conv(input_tensor, num_filters, kernel_size=3, strides=2) for _ in range(num_blocks): x = darknet_residual(x, num_filters) return x def yolo_head(input_tensor, num_filters): x = darknet_conv(input_tensor, num_filters * 2, kernel_size=3) x = darknet_conv(x, num_filters, kernel_size=1) x = darknet_conv(x, num_filters * 2, kernel_size=3) x = darknet_conv(x, num_filters, kernel_size=1) x = darknet_conv(x, num_filters * 2, kernel_size=3) return x def yolo_v4_tiny(input_shape, num_classes): input_tensor = Input(shape=input_shape) x = darknet_conv(input_tensor, 32, kernel_size=3) x = darknet_block(x, 64, 1) x = darknet_block(x, 128, 2) x = darknet_block(x, 256, 4) x = darknet_block(x, 512, 4) x = darknet_block(x, 1024, 2) x = darknet_conv(x, 512, kernel_size=1) x = darknet_conv(x, 1024, kernel_size=3) x = darknet_conv(x, 512, kernel_size=1) x = darknet_conv(x, 1024, kernel_size=3) x = darknet_conv(x, 512, kernel_size=1) x1 = yolo_head(x, num_filters=256) x1 = Conv2D(filters=num_classes * 5, kernel_size=1)(x1) x2 = darknet_conv(x, 256, kernel_size=1) x2 = UpSampling2D()(x2) x2 = Concatenate()([x2, darknet_conv(x, 256, kernel_size=1)]) x2 = darknet_conv(x2, 256, kernel_size=3) x2 = yolo_head(x2, num_filters=128) x2 = Conv2D(filters=num_classes * 5, kernel_size=1)(x2) model = tf.keras.Model(inputs=[input_tensor], outputs=[x1, x2]) return model model = yolo_v4_tiny(input_shape=(416, 416, 3), num_classes=80) tf.keras.utils.plot_model(model, to_file='yolov4-tiny.png', show_shapes=True) ``` 该代码使用 TensorFlow 2.x 实现了 YOLOv4-tiny 的结构框图的绘制,将会在当前目录下生成一个名为 `yolov4-tiny.png` 的 PNG 图片文件,展示模型的结构框图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sxj731533730

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值