基于PyQt5的桌面图像调试仿真平台开发(8)锐化

news2024/11/26 12:50:09

系列文章目录

基于PyQt5的桌面图像调试仿真平台开发(1)环境搭建

基于PyQt5的桌面图像调试仿真平台开发(2)UI设计和控件绑定

基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理

基于PyQt5的桌面图像调试仿真平台开发(4)白平衡处理

基于PyQt5的桌面图像调试仿真平台开发(5)亮度处理

基于PyQt5的桌面图像调试仿真平台开发(6)去马赛克

基于PyQt5的桌面图像调试仿真平台开发(7)伽马矫正

基于PyQt5的桌面图像调试仿真平台开发(8)锐化

基于PyQt5的桌面图像调试仿真平台开发(9)去噪

基于PyQt5的桌面图像调试仿真平台开发(10)色彩矩阵

基于PyQt5的桌面图像调试仿真平台开发(11)清晰度测试

基于PyQt5的桌面图像调试仿真平台开发(12)图像灰度显示

基于PyQt5的桌面图像调试仿真平台开发(13)图像边缘显示

基于PyQt5的桌面图像调试仿真平台开发(14)色彩增强

基于PyQt5的桌面图像调试仿真平台开发(15)图像融合

工程代码:https://gitee.com/xiaoshixiao00/py-ispp


目录

系列文章目录

前言

一、锐化是什么?

二、开发步骤和演示

1.怎么实现

2.编写和显示


前言

前面学习了gamma映射的而实现,接下来学习去噪和锐化。


一、锐化是什么?

        通过图像处理技术,增强照片的清晰度和细节,使得照片看起来更加清晰、鲜明和有质感。在数字摄影中,照片锐化是一种常见的后期处理技术,可以使得照片更加生动、真实,同时也可以弥补拍摄时的一些不足。。

二、开发步骤和演示

1.怎么实现

        锐化和模糊都可以通过opencv的滤波算子实现,常见的锐化算法有sobel锐化,laplacian锐化,scharr锐化,canny锐化。

cv2.Sobel(image_rgb,cv2.CV_64F,0,1,ksize=5)

cv2.Laplacian(image_rgb,cv2.CV_64F)

cv2.Scharr(image_rgb,cv2.CV_64F,0,1)

cv2.Canny(image_rgb,100,200)


2.编写和显示

①,开发图像ui控件和绑定事件

参考基于PyQt5的桌面图像调试仿真平台开发(3)黑电平处理_上天肖的博客-CSDN博客

②,算法开发实现

直接调用opencv的滤波算子接口实现锐化。

#图像Sobel锐化
def proc_image_Sobel_sharpen(image_rgb):
    print("proc_image_Sobel_sharpen,")
    result = cv2.Sobel(image_rgb,cv2.CV_64F,0,1,ksize=5)
    print("result:", result.shape)
    #sobel处理后数据为浮点数,需要转为整数
    result = np.around(result)
    result = result.clip(0, 255).astype('uint8')
    #cv2.imshow("sobel",result)
    result = cv2.addWeighted(image_rgb, 0.9, result, 0.1, 0)
    return result

#图像Laplacian锐化
def proc_image_Laplacian_sharpen(image_rgb):
    print("proc_image_Laplacian_sharpen,")
    result = cv2.Laplacian(image_rgb,cv2.CV_64F)
    result = cv2.addWeighted(image_rgb, 0.9, result, 0.1, 0)
    #需要转为整数
    result = np.around(result)
    result = result.clip(0, 255).astype('uint8')
    return result

#图像Scharr锐化
def proc_image_Scharr_sharpen(image_rgb):
    print("proc_image_Scharr_sharpen,")
    result = cv2.Scharr(image_rgb,cv2.CV_64F,0,1)
    result = cv2.addWeighted(image_rgb, 0.9, result, 0.1, 0)
    # 需要转为整数
    result = np.around(result)
    result = result.clip(0, 255).astype('uint8')
    print("result:", result.shape)
    return result

#图像Canny锐化
def proc_image_canny_sharpen(image_rgb):
    print("proc_image_canny_sharpen,")
    result = cv2.Canny(image_rgb,100,200)
    # 需要转为整数
    result = np.around(result)
    result = result.clip(0, 255).astype('uint8')
    #cv2.imshow("canny", result)
    print("result:",result.shape)
    #需要从灰度图转为全彩
    result = cv2.cvtColor(result, cv2.COLOR_GRAY2RGB)
    print("result:", result.shape)
    result = cv2.addWeighted(image_rgb, 0.9, result, 0.1, 0)
    result = np.around(result)
    result = result.clip(0, 255).astype('uint8')
    return result

③,演示

导入图像

 

 点击锐化,里面的编辑框的参数暂时没有实现,下拉框选择sobel算子,点击确定,能看到锐化后的细节更加明显,不过图像不再平滑,有明显的振铃效应。

 


 总结

锐化能够细化细节,但是影响图像的平滑性,并且可能增大噪声。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/722492.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习基础之《特征工程(2)—特征工程介绍》

一、什么是特征工程 机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ” 注:业界广泛流传:数据和特…

论文阅读-DF-Platter: Multi-Face Heterogeneous Deepfake Dataset(多人脸异构深度伪造数据集)

一、论文信息 文章名称:DF-Platter: Multi-Face Heterogeneous Deepfake Dataset 作者团队: 会议:cvpr2023 数据集地址:http://iab-rubric.org/df-platter-database 二、动机与创新 动机 目前大多数研究工作都集中在个人外表…

【零基础入门学习Python---Python中安全编程和测试之快速入门实践】

🚀 零基础入门学习Python🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜…

Mysql基础之SQL语句

作定期复习和查询用,打开这篇博客提高效率,避免回视频或者百度上找 👂 无论你多怪异我还是会喜欢你(《刺客伍六七》动画推广版片尾曲) - 周子琰 - 单曲 - 网易云音乐 内容来自B站黑马Mysql,检索使用 附上…

浅析Lambda架构

大家好,今天我们来介绍一个用于亿级实时数据分析架构Lambda架构。 Lambda架构 Lambda架构(Lambda Architecture)是由Twitter工程师南森马茨(Nathan Marz)提出的大数据处理架构。这一架构的提出基于马茨在BackType和Tw…

Python GUI编程利器:Tkinker中的消息和文本(7)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 和猫妹学Python,一起趣味学编程。 今日目标 实现下面效果: 消息(Message类) 消息用于显示多行文本消息,对标签进行替代,如果…

【数学建模】国赛真题分析 2012 A题 葡萄酒的评价

2012 A题 葡萄酒的评价 优秀论文地址: 链接:https://pan.baidu.com/s/19WGpybgM6RncxTYhx61JRA?pwdvl22 提取码:vl22 –来自百度网盘超级会员V6的分享 确定葡萄酒质量时一般是通过聘请一批有资质的评酒员进行品评。每个评酒员在对葡萄酒进…

GWIN入门-完整一个程序

GWIN入门-完整一个程序 新建工程 右击工程名,添加.v文件 编写功能文件 /* timescale是Verilog HDL 中的一种时间尺度预编译指令,它用来定义模块的仿真时的时间单位和时间精度。 */`timescale 1ns/1ps module LED(input wire clk

第三步:STM32F4时钟介绍

1.0 时钟系统框图 1.1 时钟系统知识 1. STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为16MHz,精度不高。可以直接作为系统 时钟或者用作PLL时钟输入。    ②、HSE是高速外部时钟,可接石英…

机器学习PCA + LogisticRegression 训练和预测 输出混淆矩阵

from sklearn.decomposition import PCA# --------------------------------------------- # 最佳主成分数量 pca = PCA(n_components=None) pca.fit_transform(x_train) var_values = pca.explained_variance_ratio_def select_best_components(var_, goal_var):best_componen…

flutter3.7版本下使用flutter boost解决使用platview崩溃或异常问题

背景 工程使用了混合开发,使用flutter boost插件,flutter 的activity1 frament1 跳转activity2 frament2,frament1 包含platformView,按照上面老哥解决崩溃问题的基础上,出现activity2 frament2返回activity1 framen…

百度--搜索引擎是怎么实现的--如何制作一个搜索浏览器

1.搜索引擎是怎么实现的? 搜索引擎是通过以下步骤实现的: 网页抓取(Crawling):搜索引擎会使用网络爬虫(Web Crawler)自动地从互联网上抓取网页内容。爬虫按照一定的规则遍历网页并提取网页内容…

数组之前缀和

1.前缀和 前缀和的概念:前缀和是指数组中从开始位置到当前位置的所有位置的元素之和,它可以通过累加数组元素来计算,一般来说,我们可以使用前缀和数组在常数时间复杂度内计算任意区间的和. 注意:特别是需要频繁的计算区间和的情况,可以通过先预先计算前缀和数组,可以将时间复…

经典神经网络(7)DenseNet及其在Fashion-MNIST数据集上的应用

经典神经网络(7)DenseNet及其在Fashion-MNIST数据集上的应用 1 DenseNet的简述 DenseNet不是通过更深或者更宽的结构,而是通过特征重用来提升网络的学习能力。 ResNet 的思想是:创建从“靠近输入的层” 到 “靠近输出的层” 的直连。而DenseNet 做得更…

idea取消右侧边缘提示信息;IDEA使用心得:工作区右边框提示信息

idea的提示是很人性的,合理使用一定程度上也会提升个人的编码水平 最终效果:能看到weak warning个数,但侧边栏不会显示直接清爽 但是idea在检查代码时有一种警告叫做weak warning 什么是weak warning 图中这种只是其中一种,这种…

导出本地文件(模板)

/*** 导出模板*/GetMapping("export/template")ApiOperationSupport(order 16)ApiOperation(value "导出模板")public void exportTemplate(HttpServletResponse response) {List<JointExcel> list new ArrayList<>();ClassPathResource cl…

Fortran 中的 goto 语句

注意项 避免滥用&#xff1a;Fortran 90引入了结构化编程的概念&#xff0c;切记不要滥用goto语句明确标签&#xff1a;在使用goto语句时&#xff0c;标签要明确避免跳转过多&#xff1a;过多的跳转会增加代码的复杂性和可读性避免跳转到循环内部&#xff1a;在循环内部使用go…

力扣 93. 复原 IP 地址

题目来源&#xff1a;https://leetcode.cn/problems/restore-ip-addresses/description/ C题解&#xff1a;递归回溯法。 递归参数&#xff1a;因为不能重复分割&#xff0c;需要ind记录下一层递归分割的起始位置&#xff1b;还需要一个变量num&#xff0c;记录ip段的数量。递…

【设计模式】第二十章:解释器模式详解及应用案例

系列文章 【设计模式】七大设计原则 【设计模式】第一章&#xff1a;单例模式 【设计模式】第二章&#xff1a;工厂模式 【设计模式】第三章&#xff1a;建造者模式 【设计模式】第四章&#xff1a;原型模式 【设计模式】第五章&#xff1a;适配器模式 【设计模式】第六章&…

中国移动九天毕昇部署fastchat Ubuntu18.04+torch1.13.1+cuda11.6+python3.9

8核CPU,RAM32G 时间&#xff1a;2023年7月 项目地址:GitHub - lm-sys/FastChat: An open platform for training, serving, and evaluating large language models. Release repo for Vicuna and FastChat-T5. 体验地址:https://chat.lmsys.org/ 时间20230703&#xff0c;fas…