测试环境及依赖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.完整代码代码
如有侵权,请联系作者删除