ISP-EE(Edge Enhance)

ISP-EE(Edge Enhance)

EE模块在某些ISP主控中叫做sharpness或者sharpen,这些名称指代的模块是同一个,不用再纠结。主要就是在YUV域内弥补成像过程中图像的锐度损失,对边缘和细节进行加强,从而恢复场景本应具有的自然锐度。

锐度下降的原因

如上图所示,理想的边缘如左侧所示,是个高反差,对比强的边。而实际成像的效果是右侧的状况,反差变弱,且边缘过渡缓慢,给人的视觉冲击不够,也就看上去没有左侧清晰锐利。造成边缘这种衰减的主要原因一方面是镜头的物理性质的限制,具体的原因不做深入讨论,属于光学范畴,简单理解就是镜头本身就是低通属性,所以图像成像光信号经过镜头后相当于进行了一次低通滤波,会导致边缘衰减。另一方面就是Pipeline中例如去买赛克,NR等算法都是低通特性的,都会导致高频损失从而表现出锐度下降。

锐化的原理

由于图像中的细节和边缘在频域中主要体现为尖锐程度较高的高频段上,因此锐化基本思想就是增强图像分离后产生的高频分量在像素值中的比重。

上图摘自知乎博文《Understanding ISP Pipeline - Sharpen - 知乎 (zhihu.com)》。

我们在实际算法中的的做法就是将边缘反差过渡区域调整得更陡峭更突变,从而到达高反差,高对比实现锐利度的提升。如上图右下角图,白色为未处理的变化曲线,红色为处理后的效果,处理后过渡明显更快,反差更大,左上经过处理到右上后人眼视觉感觉也确实对比更强,更清晰。

算法又需要如何实际实现呢,其实这个和我们学习美术的时候一样,我们会描边,用2B把边缘描绘一遍,那么边缘在政府图像中就会更清楚,其实算法也是这种思路,就是通过边缘算法提取图像边缘,然后将边缘“描绘”到原始图像上,那么边缘也就更加请处理。

上述的描边过程其实可以简化为以下的流程:

从上图中可以看出叠加后的图像确实清晰度有提升,但是感觉效果并不太好,主要因为鸟的主体部分加强了,但是后面的背景本来平坦的区域经过加强后也出现了很多颗粒感,看上去很难受。所以针对这些问题我们需要优化算法,其实从这个框架看,我们唯一能做的其实就是一个优化边缘提取的filter,另外一个就是优化λ,所以实际用的时候往往采取一下框图:

经过filter提取的边缘经过一个边缘判决器,然后λ根据这个判决器的判决动态调整加强力度。关于这个判决器和λ的自适应调整内容有点绕,不做过多赘述,有兴趣的朋友可以参考B站本算法讲解。

代码演示

clc, clear, close all;preDelta = 2;   % 预滤波强度,值越大,边缘越强
th = 5;         % 边缘检测阈值
gain = 0.8;       % 边缘增强力度控制img = imread('./images/blurring.png');
figure();
imshow(img);
title('org');[h, w, c] = size(img);
img_yuv = rgb2ycbcr(img);
y = img_yuv(:, :, 1);Iblur = imgaussfilt(y, preDelta);
HighFC = y - Iblur;for i = 1: hfor j = 1: wif HighFC(i, j) > thHighFC(i, j) = HighFC(i, j) * gain;elseHighFC(i, j) = 0;endend
end
figure();
imshow(HighFC);
imwrite(HighFC, './images/edgeDemo.png');
title('edge');y = y + HighFC;
img_yuv(:, :, 1) = y;
res = ycbcr2rgb(img_yuv);
imwrite(res, './images/ee.png');
figure();
imshow(res);
title('res');

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

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

相关文章

Linux基础指令(2)

今天我们继续来学我们有关于Linux的指令,今天的指令要比上次多多了。开始我们的学习吧。 man手册 先来看标题,手册我们第一时间想到的就是手册的查阅功能,我们都知道在我们上小学的时候,如果遇到不会的字,我们会通过…

网络工程师【目录】

前言 从2023年下半年开始,所有的软考全面改革,由原来的笔试改为机考,据说难度会有一些增加,望悉知。 报名地址:中国计算机技术职业资格网 历史报名时间和考试时间:3月份报名,5月底考试&#xf…

互联网商业史--1.3Q大战

一.起因 奇虎360与腾讯间的纠葛被业界形象地称为“3Q大战”。 这场大战源于双方之间的“互掐”。 双方为了各自利益,从2010年到2014年,上演了一系列互联网之战,并走上诉讼之路 腾讯先是推出QQ医生1.0,随后推出QQ医生3.2&#x…

【wvp】无响应sip 日志记录

23-12-11 17:25:18.179 [https-jsse-nio-8970-exec-7] INFO c.g.wvp.vmp.gb28181.transmit.cmd.impl.SIPCommander - 34010200001130000006_34010200001310000006 分配的ZLM为: wvpmediaserver001 [10.30.2.8:30406] 2023-12-11 17:25:18.337 [wvp-9] INFO c.g.w.v.g.t.e.r.i…

【高数:3 无穷小与无穷大】

【高数:3 无穷小与无穷大】 1 无穷小与无穷大2 极限运算法则3 极限存在原则4 趋于无穷小的比较 参考书籍:毕文斌, 毛悦悦. Python漫游数学王国[M]. 北京:清华大学出版社,2022. 1 无穷小与无穷大 无穷大在sympy中用两个字母o表示无…

IvorySQL荣获 OSCHINA「2023 年度优秀开源技术团队」奖

2023 年,OSCHINA 综合平台上各大认证官方技术团队、开源社区帐号年度发表的内容深度及广度、开展各种活动运营影响力等多方面的表现,瀚高股份IvorySQL荣获 OSCHINA颁布的「2023 年度优秀开源技术团队」奖项。未来,IvorySQL将继续为国内开源事…

golang游戏服务器 - tgf系列课程04

用户登录 介绍了如何使用tgf自带的登录功能进行用户的登录操作,并且编写机器人客户端的一个模拟请求代码需求描述 用户请求登录,登录成功之后请求HelloWorld接口.Common 接口定义和生成接口定义 新增登录接口 type IHallService interface {Login(ctx context.Context, args…

Hough算法数学原理

直线的极坐标方程: x x 0 r cos ⁡ θ x x_0 r\cos \theta xx0​rcosθ y y 0 r sin ⁡ θ y y_0 r\sin \theta yy0​rsinθ x cos ⁡ θ x 0 cos ⁡ θ r cos ⁡ 2 θ x \cos \theta x_0 \cos \theta r \cos^2 \theta xcosθx0​cosθrcos2θ y sin ⁡ θ…

E4990A 阻抗分析仪,20 Hz 至 10/20/30/50/120 MHz

01 E4990A 阻抗分析仪 20 Hz 至 10/20/30/50/120 MHz 产品综述: E4990A 阻抗分析仪具有 20 Hz 至 120 MHz 的频率范围,可在宽阻抗范围内提供出色的 0.045%(典型值)基本准确度,并内置 40 V 直流偏置源,适…

计算机科学与技术认识实习【报告】

一、实习目的 此次认识实习主要面对计算机科学与技术专业的同学,了解专业在未来的发展趋势,通过观看公司的介绍视频和技术发展情况招聘信息后的感想和学习体会等多种方式,使我们了解本专业相关领域的发展现状,让我们在校园内课堂上…

C# 数据的保存和提取(.TXT格式)

红色部分的才是最终版 一、将页面内容保存到文件中 第一步 创建Visual的Windows窗体应用,使用的是 第二步 创建几个Label控件、TextBox控件、以及Button按钮,而TextBox控件放入Panel中 第三步 先对写法进行了解,了解保存的语句 StreamWriter sw= new StreamWriter(TXT…

从视频中截取指定帧图片

前言&#xff1a; 我们在很多时候需要对视频文件进行分析&#xff0c;或者对视频产生缩略图。因此视频截取技术必不可少。 从本地文件中读取视频帧 导包 <dependency><groupId>org.jcodec</groupId><artifactId>jcodec</artifactId><versio…

http代理和SOCK5代理谁更安全?

在这个网络化的时代&#xff0c;我们常常听到HTTP代理和SOCKS5代理这两个名词&#xff0c;不过很多人并不了解是什么意思。今天&#xff0c;我们将揭开这两种代理的神秘面纱&#xff0c;看看到底HTTP代理和SOCKS5代理哪个更安全&#xff1f; HTTP代理&#xff1a;高效通信的“枢…

Anaconda+Pytorch(GPU版)深度学习环境配置笔记

主要参考以下文章进行配置&#xff1a; https://blog.csdn.net/qq_43757976/article/details/131173301 配置版本略有更新&#xff0c;最新版本时间为2023.12.11 一、准备工作 个人电脑配置&#xff1a;laptop RTX4060 win11 个人配置版本&#xff1a;cuda&#xff08;12.1&…

JS:让2个li标签排列在同一行

前言 在js中&#xff0c;ul元素中li标签是块级元素&#xff0c;现在需要让2个分行的li元素显示在同一行&#xff0c;并且去掉li元素自带的标记符号 li元素处理前的样式如下&#xff1a; 实现 html代码 <div><ul><li>数据1&#xff1a;</li><li&…

微服务和无服务器架构时代的持续测试

软件开发中对速度和敏捷性的追求催生了超越传统界限的方法和实践。持续测试是现代 DevOps 实践的基石&#xff0c;它已经发展到满足加速软件交付的需求。在本文中&#xff0c;我们将探讨持续测试的最新进展&#xff0c;重点关注它如何与微服务和无服务器架构相结合。 一、持续…

第十六届山东省职业院校技能大赛中职组网络安全赛项竞赛正式试题

第十六届山东省职业院校技能大赛中职组网络安全"赛项竞赛试题 一、竞赛时间 总计&#xff1a;360分钟 二、竞赛阶段 竞赛阶段任务阶段竞赛任务竞赛时间分值A、B模块A-1登录安全加固180分钟200分A-2本地安全策略设置A-3流量完整性保护A-4事件监控A-5服务加固A-6防火墙策…

人机交互——自然语言理解

人机交互中的自然语言理解是人机交互的核心&#xff0c;它是指用自然语言&#xff08;例如中文、英文等&#xff09;进行交流&#xff0c;使计算机能理解和运用人类社会的自然语言&#xff0c;实现人机之间的自然语言通信。 自然语言理解在人工智能领域中有着非常重要的地位&a…

【力扣】刷题备忘录-动归-343. 整数拆分

343. 整数拆分 class Solution { public:int integerBreak(int n) {vector<int> dp(n1);dp[2] 1;for (int i 3; i < n; i) {for (int j 1; j < i - 1; j){ // 这里j的最大值去到i-2就可以&#xff0c;这时i - j 2 正好能用初始化的值dp[i] max(dp[i], max(j …

系统报错;由于找不到hid.dll,无法继续执行代码”的解决方案分享

在计算机使用过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“找不到hid.dll&#xff0c;无法继续执行代码”。这个错误提示通常表示计算机缺少了一个重要的动态链接库文件&#xff0c;即hid.dll。本文将详细介绍hid.dll丢失对电脑的影响以及hid.dll是…