图像去锯齿(降噪+插值)

文章目录


图像预处理算法的好坏直接关系到后续图像处理的效果,如图像分割、目标识别、边缘提取等,为了获取高质量的数字图像,很多时候都需要对图像进行降噪处理,尽可能的保持原始信息完整性(即主要特征)的同时,又能够去除信号中无用的信息。

鲁迅:我没说过

如果图片有大量的锯齿难免会显得拙糙,那么这时候降噪也不是一种去除锯齿的好方法。

例如:

带锯齿的原图

用该方法去除锯齿之后:

经过高斯模糊之后的图像

import cv2
import numpy as np

img_path = ("1.png")		#获取图片路径
img = Image.open(img_path)	
img_sp = cv2.imread(img_path)	
sp = img_sp.shape			#读取图片长宽

#第一次插值、降噪
img = img.resize((sp[1]*2, sp[0]*2), Image.BILINEAR)        #三次样条插值,图像长宽放大为2倍
img = np.array(img)
img_gaosi=cv2.GaussianBlur(img,(5,5),0)						#高斯降噪,设置高斯核
img = Image.fromarray(img_gaosi)							#转换回数组,以便numpy可读取
img = img.resize((sp[1]*2, sp[0]*2), Image.ANTIALIAS)		#保持图像品质缩略

#第二次插值、降噪
img = img.resize((sp[1]*4, sp[0]*4), Image.BILINEAR)       #三次样条插值,图像长宽放大为4倍
img = np.array(img)
img_gaosi=cv2.GaussianBlur(img,(5,5),0)
img = Image.fromarray(img_gaosi)
img = img.resize((sp[1]*4, sp[0]*4), Image.ANTIALIAS)

#第三次插值、降噪
img = img.resize((sp[1]*16, sp[0]*16), Image.BILINEAR)		#三次样条插值,图像长宽放大为16倍
img = np.array(img)
img_gaosi=cv2.GaussianBlur(img,(5,5),0)
img = Image.fromarray(img_gaosi)		
img = img.resize((sp[1]*16, sp[0]*16), Image.ANTIALIAS)

注:示例图片来自《应用数学进展》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值