python 更换图像背景_Python几行代码更换照片底色 图像处理 openCV

测试环境及依赖python3.6

numpy 1.19.0

opencv-python 4.3.0.36

1.读取图片并进行展示imread() 读取相应图片

imshow() 对图片进行展示

waitkey() 设置一个窗口等待时间,否则窗口会一闪而过文件名:girl.png 证件照打了马赛克,还望大家谅解

2.图片缩放resize() 对图片进行缩放,fx及fy为缩放比例,0.5表示缩放为以前的 一半。缩放

3.将图片转换为灰度图像

将彩色图片转换为hsv灰度图像后,再完成腐蚀和膨胀的操作。cv2.cvtColor(img,cv2.COLOR_BGR2HSV) 可以将彩色图片转化为hsv灰度图片灰度

4.将图片进行二值化处理

将图片转换为黑白图片,进行二值化处理

对于图像我们定义一个最小值和最大值,用lower_blue和upper_blue表示lower_blue = np.array([90,70,70])

upper_blue = np.array([110,255,255])

inRange(hsv, lower_blue, upper_blue) 进行二值化

二值化

Ps:有时发现黑色区域会出现一些噪声,就是一些白点,这里可能显示的不是很明显,根据图片的不同会显示的效果也有所不同,所有需要进行腐蚀或膨胀操作

5.图象的腐蚀和膨胀

二值化后,出现了噪声,下面采用腐蚀或膨胀对图片做进一步处理,并观察效果erode(mask,None,iterations=1) 腐蚀

dilate(erode,None,iterations=1) 膨胀腐蚀

膨胀

Ps:对此图片而言,腐蚀或膨胀,都起到了很好的去噪效果,所以使用两种效果的任意一张就可以了

6.遍历每个像素点进行颜色替换

图片是由每一个像素点组成的,我们要做的就是找到腐蚀后得到图片的白色底色处的像素点,对此图中对应位置处的像素点,替换为红色,需要什么底色就换成相应的颜色就可以了结果

7.完整代码代码

如有侵权,请联系作者删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值