【发布时间】:2020-09-01 15:06:56
【问题描述】:
我的想法是使用给定图像的异常区域的多个边界框坐标并裁剪这些区域以保存到单独的文件夹中。我已经编写了如下所示的代码,以裁剪单个图像的这些多个边界框坐标,但是,我也得到了我必须摆脱的边界框。
import pandas as pd
import cv2
import numpy as np
df = pd.read_csv('excel1.csv')
image = cv2.imread('image2.png')
im_name = 'image2.png'
for i in range(len(df)):
name = df.loc[i]['filename']
if name == im_name:
start_point = (df.loc[i]['x'],df.loc[i]['y'])
end_point = (df.loc[i]['x']+df.loc[i]['width'],df.loc[i]['y']+df.loc[i]['height'])
color = (128, 0, 0)
thickness = 2
image = cv2.rectangle(image, start_point, end_point, color, thickness)
crop = image[df.loc[i]['y']:df.loc[i]['y']+df.loc[i]['height'],
df.loc[i]['x']:df.loc[i]['x']+df.loc[i]['width']]
cv2.imwrite("cropped/crop_{0}.png".format(i), crop)
cv2.imwrite('bb.png', image)
【问题讨论】:
-
你想把图片存储在bounding box里面是吗?
-
@AshwinPhadke:没错。我想将多个边界框内的图像存储到任何给定输入图像的单独文件夹中。
标签: python opencv crop bounding-box