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) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值