吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 753|回复: 12
收起左侧

[Python 原创] 数字图像处理-反锐化掩蔽

[复制链接]
liwanbin 发表于 2024-2-22 15:26
本帖最后由 liwanbin 于 2024-2-22 15:29 编辑

本次图像处理思路:
1、首先对原图进行盒装滤波=模糊图像(盒装滤波以后闲了再说方法和思路,这儿不是重点)
2、用原图-模糊图像=差值图像
3、原图+差值图像=锐化增强后图像
         特别说明:代码中的变量“C=1”不是一定的,大家可以根据不同的图像适当加大和减小

上代码:
[Python] 纯文本查看 复制代码
import numpy as np
from scipy import signal
from skimage import data,img_as_float,color
from  matplotlib import pyplot as plt
#定义字体
plt.rcParams['font.sans-serif']=['SimHei']
#定义灰度图像空间滤波函数
def correl2d(img,window):
    s=signal.correlate2d(img,window,mode='same',boundary='fill')
    return s
#导入图片,转为灰度图
img1=data.astronaut()
img=img_as_float(color.rgb2gray(img1))

#定义滤波模板函数
window=np.ones((5,5))/(5**2)
#生成5*5滤波结果(得到模糊图像)
img_blur=correl2d(img,window)
#原图-模糊图像=差值
img_edge=img-img_blur
#差值+原图=锐化增强
c=1
img_enhance=img+c*img_edge
#用子图显示结果
plt.subplot(221),plt.title('原图'),plt.imshow(img,cmap='gray')
plt.subplot(222),plt.title('模糊图像'),plt.imshow(img_blur,cmap='gray')
plt.subplot(223),plt.title('差值图像'),plt.imshow(img_edge,cmap='gray')
plt.subplot(224),plt.title('锐化增强图像'),plt.imshow(img_enhance,vmin=0,vmax=1,cmap='gray')
plt.show()


1.png

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| liwanbin 发表于 2024-2-23 13:01
本帖最后由 liwanbin 于 2024-2-23 13:06 编辑

盒装滤波代码分享给大家,代码比较简单,很容易看懂
[Python] 纯文本查看 复制代码
import numpy as np
from scipy import signal #信号处理模块
from skimage import data
from matplotlib import pyplot as plt
#字体
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['font.size']=10
plt.rcParams['axes.unicode_minus']=False
# 定义二维灰度图像的空间滤波函数
def correl2d(img,window): #相关运算函数
    # 使用滤波器实现图像的空间相关
    # mode=‘same’表示输出尺寸等于输入尺寸
    # boundary=‘fill’表示滤波前,用常量值填充原始图像的边缘,默认常量值为0
    s=signal.correlate2d(img,window,mode='same',boundary='fill')
    return s.astype(np.uint8)
img=data.camera()# img为原始图像
window1=np.ones((3,3))/(3**2)# 3x3盒装滤波器
window2=np.ones((5,5))/(5**2)# 5x5盒装滤波器
window3=np.ones((9,9))/(9**2)# 9x9盒装滤波器
#生成滤波结果
new_img1=correl2d(img,window1)
new_img2=correl2d(img,window2)
new_img3=correl2d(img,window3)
#显示图像
plt.subplot(2,2,1)
plt.axis('off')
plt.imshow(img)#显示原始图像
plt.title('原图')
plt.subplot(2,2,2)
plt.axis('off')
plt.imshow(new_img1)#显示3x3滤波结果
plt.title('3x3')
plt.subplot(2,2,3)
plt.axis('off')
plt.imshow(new_img2)#显示5x5滤波结果
plt.title('5x5')
plt.subplot(2,2,4)
plt.axis('off')
plt.imshow(new_img3)#显示9x9滤波结果
plt.title('9x9')
plt.show()


111.png
bachelor66 发表于 2024-2-22 17:10
看对比效果不错啊,不知道实际效果怎么样                                       
ouzhzh0 发表于 2024-2-22 16:51
锐化后的效果看起来不错。这种一般给成品。
炎爝 发表于 2024-2-22 17:16
给感谢分享!!!
wangwh 发表于 2024-2-22 17:25
没有成品的软件可用吗?
zxh0145 发表于 2024-2-22 19:05
高反差保留吧?
ck1001CK 发表于 2024-2-22 22:22
有没有测试过低像素的
Bob5230 发表于 2024-2-23 00:42
感谢分享,回去试试
 楼主| liwanbin 发表于 2024-2-23 11:54
zxh0145 发表于 2024-2-22 19:05
高反差保留吧?

叫法不一样而已
 楼主| liwanbin 发表于 2024-2-23 11:56
ck1001CK 发表于 2024-2-22 22:22
有没有测试过低像素的

低像素就改下盒装滤波的参数就行
文中我好像用的5*5的盒装滤波,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 19:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表