当前位置: 首页 > ds >正文

Python图像变清晰与锐化,调整对比度,高斯滤波除躁,卷积锐化,中值滤波钝化,神经网络变清晰

本次使用图片来源于百度 

import cv2
import time
import numpy as np
import pywtfrom PIL import Image, ImageEnhance#-i https://pypi.mirrors.ustc.edu.cn/simpledef super_resolution(input_path, output_path, model_path, scale=4):# 初始化超分辨率模型sr = cv2.dnn_superres.DnnSuperResImpl_create()sr.readModel(model_path)sr.setModel("edsr", scale)  # 模型类型需与文件名匹配# 读取低分辨率图像img_lr = cv2.imread(input_path)if img_lr is None:print("Error: 输入图像加载失败")return# 执行超分辨率重建start_time = time.time()img_sr = sr.upsample(img_lr)print(f"推理耗时: {time.time() - start_time:.2f}s")# 保存结果cv2.imwrite(output_path, img_sr)print(f"高分辨率图像已保存至: {output_path}")def wavelet_denoise(image, wavelet='db4', level=1, mode='soft'):# 将图像转换为灰度图if len(image.shape) == 3:image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 进行小波分解coeffs = pywt.wavedec2(image, wavelet, level=level)# 对每个细节系数应用阈值处理threshold = np.std(coeffs[-1]) * np.sqrt(2 * np.log2(image.size))new_coeffs = [coeffs[0]]for detail_coeffs in coeffs[1:]:new_detail_coeffs = [pywt.threshold(d, threshold, mode=mode) for d in detail_coeffs]new_coeffs.append(new_detail_coeffs)# 进行小波重构denoised_image = pywt.waverec2(new_coeffs, wavelet)# 将像素值限制在 0 到 255 之间denoised_image = np.clip(denoised_image, 0, 255).astype(np.uint8)return denoised_imageif __name__ == "__main__":# 参数配置input_img = "3.jpeg"    # 低分辨率图像路径output_img = "high_res3.jpg"  # 输出图像路径model_file = "EDSR_x4.pb"    # 预训练模型路径# 定义锐化卷积核kernel = np.array([[0, -1, 0],[-1, 5, -1],[0, -1, 0]])# 执行重建super_resolution(input_img, output_img, model_file)#打开图片image = Image.open('4.jpg')#调整对比度contrast = ImageEnhance.Contrast(image)image = contrast.enhance(1.5)#调整亮度brightness = ImageEnhance.Brightness(image)image = brightness.enhance(1.2)#保存处理后的图片image.save('enhanced_image.jpg')img = cv2.imread("enhanced_image.jpg")if img is None:print('none')denoised_image = wavelet_denoise(img)cv2.imwrite('result.png', denoised_image)sharpened = cv2.filter2D(denoised_image, -1, kernel)  # 应用卷积核#laplacian = cv2.Laplacian(denoised_image, cv2.CV_64F)#sharpened = cv2.convertScaleAbs(laplacian - 0.5*laplacian)  # 调节0.7系数控制锐化强度cv2.imwrite("output4.jpg", sharpened)image = cv2.imread('output4.jpg', cv2.IMREAD_GRAYSCALE)#高斯滤波gaussian_filtered_image = cv2.GaussianBlur(image, (3, 3), 0.02)#保存处理后的图片cv2.imwrite('gaussian_filtered_image.jpg', gaussian_filtered_image)#中值滤波median_filtered_image = cv2.medianBlur(gaussian_filtered_image, 5)#保存处理后的图片cv2.imwrite('median_filtered_image.jpg', median_filtered_image)

原始图像

亮度增强

高斯滤波

卷积锐化 

 

中值平滑 

 

 

http://www.xdnf.cn/news/2161.html

相关文章:

  • 多层级的对象如何修改、或json格式
  • Python实验四
  • 2025年保安员证考试题库及答案
  • 深入剖析EM算法:原理、推导与应用
  • CV大模型、NLP大模型与语音处理技术全景解析-AI学习Day5
  • 三维天地智能路径规划引擎:以算法驱动,重新定义智能路径优化技术
  • 前端面试(Vue React)内容目录与备考建议
  • NCCL通信中Group与独立操作的区别
  • OpenCv高阶(九)——背景建模
  • 每天学一个 Linux 命令(31):md5sum
  • SQL语句练习 自学SQL网 基础查询
  • 伟世通与火山引擎深度合作 前沿AI智能座舱解决方案亮相上海车展
  • playwright的简单使用
  • 信令与流程分析
  • 谷歌终止新冠疫情时期结构化数据支持:SEO影响与应对策略
  • 14-DevOps-快速部署Kubernetes
  • K8S Service 原理、案例
  • 零基础教学:用GISBox将RVT转为3DTiles
  • 力扣-hot100(滑动窗口最大值)
  • Promise简介和使用
  • HDRnet——双边滤波和仿射变换的摇身一变
  • 如何在 MinGW 和 Visual Studio (MSVC) 之间共享 DLL
  • Freertos--统计所有任务栈信息以及CPU占比和钩子函数
  • Flutter Dart 集合类型List Set Map详解军 以及循环语句 forEaclh map where any every
  • 【动手学大模型开发】VSCode 连接远程服务器
  • 苹果iosApp提交审核常见问题--内购订阅篇
  • 技术视界 | 从自然中获取智慧: 仿生机器人如何学会“像动物一样思考和行动”
  • 《算法笔记》4.2小节——算法初步->哈希
  • 【Redis】hash类型
  • 每日c/c++题 备战蓝桥杯(P1252洛谷 马拉松接力赛)