欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

tensorflow-yolov3 yunyang1994 image_preporcess(image, target_size, gt_boxes=None)函数 image_preprocess

发布时间:2025/3/19 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 tensorflow-yolov3 yunyang1994 image_preporcess(image, target_size, gt_boxes=None)函数 image_preprocess 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

该函数将源图结合input_size,将其转换成预投喂的方形图像(作者默认544×544,中间为缩小尺寸的源图,上下空区域为灰图)

# D·C191107:图像处理函数,参数分别为(输入图片,输入方形框尺寸,还有个不管) def image_preporcess(image, target_size, gt_boxes=None):# D·C 191107:不懂为何转换数据类型,节省存储空间?一般默认float64image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)ih, iw = target_sizeh, w, _ = image.shape# D·C 191107:取两个值中较小的一个作为scalescale = min(iw / w, ih / h)# D·C 191108:不懂这步操作啥意思,从代码上看就是创建一对与原图等比缩小的子图尺寸变量nw, nh = int(scale * w), int(scale * h)# D·C 191108:创建一个按比例变换后的图片image_resized = cv2.resize(image, (nw, nh))# D·C 191108:创建一张iw×ih分辨率的图片,以灰色填充(128 128 128)image_paded = np.full(shape=[ih, iw, 3], fill_value=128.0)# D·C 191108:创建步长变量?不太懂原理dw, dh = (iw - nw) // 2, (ih - nh) // 2# D·A 191108:打印几个变量看看# print('(w,h):({},{})'.format(w, h))# print('(iw,ih):({},{})'.format(iw, ih))# print('(nw,nh):({},{})'.format(nw, nh))# print('(dw,dh):({},{})'.format(dw, dh))# (w, h): (1280, 720)# (iw, ih): (544, 544)# (nw, nh): (544, 306)# (dw, dh): (0, 119)# D·A 191108:打印对象类型看看:# print(type(image_resized))# <class 'numpy.ndarray'># print(type(image_paded))# <class 'numpy.ndarray'># D·A 191108:打印图片形状看看:# print(image_resized.shape)# (306, 544, 3)# print(image_paded.shape)# (544, 544, 3)# D·C 191108:从dh到nh + dh行,dw到nw + dw列,所有维(下标0-2),全部用image_resized的值替换# 用图画出来就是把等比例缩小后的图片image_resized(544×306)置入544×544的image_paded中(沿水平中心线对称)image_paded[dh:nh + dh, dw:nw + dw, :] = image_resized# D·C 191108:将数组转换成0-1之间的小数表示:image_paded = image_paded / 255.# 打印image_paded看看,还是不看了,太多!# print(image_paded)if gt_boxes is None:return image_paded# D·C 191108:暂时不管它干嘛用的。else:gt_boxes[:, [0, 2]] = gt_boxes[:, [0, 2]] * scale + dwgt_boxes[:, [1, 3]] = gt_boxes[:, [1, 3]] * scale + dhreturn image_paded, gt_boxes

总结

以上是生活随笔为你收集整理的tensorflow-yolov3 yunyang1994 image_preporcess(image, target_size, gt_boxes=None)函数 image_preprocess的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。