yolov5 超大图片检测套路(附代码)

切割代码,将切割后的照片放到detect里去检测,生成检测后的图片是有顺序的,下一步图像的拼接,注意照片保存读取文件夹的选取,总体实现还是很简单的,

1.切割图片(附代码)

from PIL import Image
import os

######## 需要裁剪的图片位置#########
path_img = r'C:\Users\Destiny\Desktop\qiege\60.JPG'

'''
(左上角坐标(x,y),右下角坐标(x+w,y+h)
'''
img = Image.open(path_img)
size_img = img.size
print(size_img)
x = 0
y = 0
########这里需要均匀裁剪几张,就除以根号下多少,这里我需要裁剪25张-》根号25=5(5*5)####
x_num = 5
y_num = 3
w = int(size_img[0] / x_num)
h = int(size_img[1] / y_num)
# 注意这里是从上到下,再从左到右裁剪的
for k in range(x_num):
    for v in range(y_num):
        region = img.crop((x + k * w, y + v * h, x + w * (k + 1), y + h * (v + 1)))
        #####保存图片的位置以及图片名称###############
        region.save(r'C:\Users\Destiny\Desktop\pingjie\jiance' + '%d%d' % (k, v) + '.jpg')

print("处理完毕")

2.拼接图片(附代码) 

# 实现图像的拼接
# 两步走
# 1 先拼成一列一列的
# 2 再把拼好的列左右拼接起来
from PIL import Image
import os
import numpy as np

# 输入图像的路径
path = r'C:\Users\Destiny\Desktop\pingjie\pingjie'
filenames = os.listdir(path)
print("目录:",path)
print("图像的总个数:",len(filenames))
print('开始执行:')

# 定义计数的
i = 0
# 定义空字符串存储数组
list_a = []

# 1 下面的for循环用于将图像合成列,只有一个参数,就是num_yx,每列有几行图像
for filename in filenames:

    # 定义每列有几张图像
    num_yx = 3
    # i用于计数
    i +=1
    print("第%d张"%i)
    # t用于换列
    t = (i-1)//num_yx

    # 获取img
    im = Image.open(os.path.join(path, filename))
    # 转换为numpy数组
    im_array = np.array(im)

    # 如果取的图像输入下一列的第一个,因为每列是3张图像,所以1,4,7等就是每列的第一张
    if (i-1) % num_yx == 0:
        # list_a[t] = im_array
        list_a.append(im_array)

    # 否则不是第一个数,就拼接到图像的下面
    else:
        list_a[t] = np.concatenate((list_a[t], im_array), axis=0)

# 2 合成列以后需要将列都拼接起来
for j in range(len(list_a)-1):
    list_a[0] = np.concatenate((list_a[0], list_a[j+1]),axis=1)

im_save = Image.fromarray(np.uint8(list_a[0]))
im_save.save(r"C:\Users\Destiny\Desktop\pingjie\pingjiehou\pinjie.jpg")
print("执行完毕")

下面是一些历程

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值