opencv cv2.resize 会产生多余的边框 paddle unet 模型输出多出来边框的解决方法

博客介绍了在使用PaddlePaddle的U-Net模型时,由于OpenCV的cv2.resize操作导致识别图片出现多余的边框。为了解决这个问题,建议将DeepLabV3P.py文件中的相关代码替换为PIL的resize方法,从而避免多余的边框问题。
部署运行你感兴趣的模型镜像

识别出的图片有bug会多出来边框. 解决方法是
修改D:\Anaconda3\Lib\site-packages\paddlex\cv\models\deeplabv3p.py 的第492行,

pred = cv2.resize(pred, (w, h), cv2.INTER_NEAREST) 

这一行的代码替换成下面的代码即可

    image = Image.fromarray(pred)
    image = image.resize((w, h),resample=Image.NEAREST) 
    pred = np.array(image) 

别忘记引入

 from PIL import Image, ImageDraw, ImageFont

resize之前的图片
resize 之前的图像
下面是resize之后的图片
resize之后的图片
用ps就可以看出来,多了一层边框. 貌似还去不掉.

解决方法是用PIL的resize替代opencv的resize


pred = cv2.resize(pred, (w, h))

改成下面的即可

image = Image.fromarray(pred)
image = image.resize((w, h),resample=Image.NEAREST) # resample=Image.NEAREST 参数一定要
# image.save('PIL_resize_pred.png')
pred = np.array(image) 

您可能感兴趣的与本文相关的镜像

PaddlePaddle-v3.3

PaddlePaddle-v3.3

PaddlePaddle

PaddlePaddle是由百度自主研发的深度学习平台,自 2016 年开源以来已广泛应用于工业界。作为一个全面的深度学习生态系统,它提供了核心框架、模型库、开发工具包等完整解决方案。目前已服务超过 2185 万开发者,67 万企业,产生了 110 万个模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值