图片曝光修正方法(直方图均衡和CNN)

图像过曝或曝光不足时需要曝光处理,
这里以曝光不足举例。

请添加图片描述

直方图均衡法:

通过RGB通道的直方图均衡达到处理曝光不足的效果。

请添加图片描述
代码:

underexpose = cv2.imread("exposure_test.jpg")
#underexpose = cv2.cvtColor(underexpose, cv2.COLOR_BGR2RGB)
equalizeUnder = np.zeros(underexpose.shape, underexpose.dtype)
equalizeUnder[:, :, 0] = cv2.equalizeHist(underexpose[:, :, 0])
equalizeUnder[:, :, 1] = cv2.equalizeHist(underexpose[:, :, 1])
equalizeUnder[:, :, 2] = cv2.equalizeHist(underexpose[:, :, 2])
cv2.imshow(equalizeUnder)

CNN方法

Learning Multi-Scale Photo Exposure Correction(CVPR2021)
paper
python版github地址

按github配置环境,下载weight.

with torch.no_grad():MSPEC_net = MSPEC_Net().cuda()MSPEC_net =torch.nn.DataParallel(MSPEC_net)MSPEC_net.load_state_dict(torch.load('./snapshots/MSPECnet_woadv.pth'))MSPEC_net.eval()data_input = cv2.imread('test.jpg')output_image = down_correction(MSPEC_net,data_input) #在mspect_test.py中if output_image.dtype == 'uint8':cv2.imwrite( "output.jpg",output_image)else:cv2.imwrite( "output.jpg",output_image*255)

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

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

相关文章

Android WorkManager入门(一)

WorkManager入门 前言一、WorkManager是什么?二、使用1.添加依赖2.定义工作3.创建 WorkRequest并提交 一次性的任务(OneTimeWorkRequest)4.setExpedited 加急方法5. setInitialDelay 延时任务6.约束 总结参考资料 前言 在当今快节奏的生活中…

袋鼠目标检测数据集VOC+YOLO格式1400多张

袋鼠是双门齿目袋鼠亚目袋鼠科大袋鼠属的哺乳动物。袋鼠跳得最高、最远。雌性袋鼠都长有一个前开的育儿袋,袋鼠也因此得名。 [8]袋鼠泛指任一种属于袋鼠目的有袋动物, [7]它头小眼大耳朵长,面部较长,鼻孔两侧有黑色须痕。袋鼠胆小…

java --- 多线程

目录 一、java多线程的三种实现方式 1.1 多线程的第一种实现方式:继承Thread类 1.2 多线程的第二种实现方式:Runnable接口 1.3 多线程的第三种实现方式:Callable接口和Future接口 1.3 多线程三种实现方式的对比 二、线程常用的成员方…

<软考>软件设计师-5计算机网络(总结)

1 网络功能和分类 1-1计算机网络的功能 计算机网络是计算机技术与通信技术相结合的产物,它实现了远程通信、远程信息处理和资源共享。计算机网络的功能:数据通信、资源共享、负载均衡、高可靠性。 1-2计算机网络按分布范围划分 1-3网络的拓扑结构 总线型&#xff0…

C++ 链表实现栈、队

链表实现栈 // 链表实现栈 #include<iostream> using namespace std;// 链表节点 class Node { public:int data;Node* next;Node(){}Node(int data):data(data),next(nullptr){} };// 链表栈 class ListStack { public:Node* top;int count; public:ListStack();void …

深度学习环境配置------windows系统(GPU)------Pytorch

深度学习环境配置------windows系统&#xff08;GPU&#xff09;------Pytorch 准备工作明确操作系统明确显卡系列 CUDA和Cudnn下载与安装1.下载2.安装 环境配置过程1.安装Anacoda2.配置环境1&#xff09;创建一个新的虚拟环境2&#xff09;pytorch相关库的安装 2.安装VScode1&…

C# Tcplistener,Tcp服务端简易封装

文章目录 前言相关文章前言设计代码简单使用运行结果 前言 我最近有个需求要写Tcp服务端&#xff0c;我发现Tcp服务端的回调函数比较麻烦&#xff0c;简化Tcp的服务&#xff0c;我打算自己封装一个简单的Tcp服务端。 相关文章 C# TCP应用编程三 异步TCP应用编程 C# Tcpclient…

ES elasticsearch-analysis-dynamic-synonym连接数据库动态更新synonym近义词

ES elasticsearch-analysis-dynamic-synonym连接数据库动态更新synonym近义词 修改源码实现连接数据库获取近义词汇 下载elasticsearch-analysis-dynamic-synonym打开项目(https://github.com/bells/elasticsearch-analysis-dynamic-synonym/tree/master) 一、修改pom.xml …

ZLMediaKit的转流流程

zlmediakit的优势就是支持多种媒体容器和媒体协议。我从推流和拉流的两个角度&#xff0c;梳理出了转流的核心骨架。 推流 协议和容器格式的转换&#xff0c;最基本的内核就是音视频数据的扭转。对视频而言就是&#xff0c;解封装帧数据&#xff0c;组帧&#xff0c;封装帧。…

OpenHarmony 启动流程优化

目前rk3568的开机时间有21s&#xff0c;统计的是关机后从按下 power 按键到显示锁屏的时间&#xff0c;当对openharmony的系统进行了裁剪子系统&#xff0c;系统app&#xff0c;禁用部分服务后发现开机时间仅仅提高到了20.94s 优化微乎其微。在对init进程的log进行分析并解决其…

ax650使用ax-pipeline进行推理

ax650使用ax-pipeline进行推理 ##搭建交叉编译环境 拉取ax-pipeline源码及子模块 git clone --recursive https://github.com/AXERA-TECH/ax-pipeline.git下载sdk cd ax-pipeline ./download_ax_bsp.sh ax650 cd ax650n_bsp_sdk wget https://github.com/ZHEQIUSHUI/assets…

基于CNN+数据增强+残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)+数据集+模型(五)

系列文章目录 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型&#xff08;一&#xff09; 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型&#xf…

butterfly蝴蝶分类

一、分类原因 由于植物分类所使用的数据集存在一定问题&#xff0c;修改起来比较麻烦&#xff0c;本次采用kaggle的ButterflyMothsImageClassification数据集&#xff0c;对100这种蝴蝶进行分类。 二、100中蝴蝶类别 ‘ADONIS’,‘AFRICAN GIANT SWALLOWTAIL’,‘AMERICAN S…

基于ssm高校推免报名系统源码和论文

网络的广泛应用给生活带来了十分的便利。所以把高校推免报名管理与现在网络相结合&#xff0c;利用java技术建设高校推免报名管理系统&#xff0c;实现高校推免报名的信息化。则对于进一步提高高校推免报名管理发展&#xff0c;丰富高校推免报名管理经验能起到不少的促进作用。…

可以应用于点云的深度学习方法

点云处理中应用深度学习方法正变得越来越流行&#xff0c;特别是在任务如分类、分割、检测和重建等领域。下面列出了一些在点云处理中常用的深度学习方法&#xff1a; PointNet 和 PointNet&#xff1a; PointNet 是首个直接在点云上工作的深度学习模型。它能够从整个点集中直接…

Tomcat 部署论坛

一、安装好mysql数据库和jdk之后 开始部署论坛 用Navicat Premium 15连接mysql数据库并创建jforum数据库 下载版本 点击安装选择minninum点击下一步 点击一下一步 选择默认安装路径 安装验证&#xff0c;在安装完毕且启动Apache Tomcat&#xff0c;通过浏览器访问tomcat的80…

C++/Qt如何处理程序崩溃

在 C 中&#xff0c;程序崩溃时可以通过信号处理机制来捕获崩溃信号&#xff0c;并在程序崩溃时给用户一个提示。以下是一个简单的示例&#xff1a; cpp #include <csignal> #include <iostream> void signalHandler(int signal) { std::cerr << &quo…

动态规划 - 70.爬楼梯(C#和C实现)

动态规划 - 70.爬楼梯(C#和C实现) 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a; 给定 n 是一个正整数。 示例 1: 输入&#xff1a; 2 输出&#xff1a; 2 解释&…

【QT】非常简单的登录界面实现

本系列是作者自学实践过程的记录 本文是关于登录界面设计 有问题欢迎讨论 效果图&#xff1a; 一、创建项目和主界面 创建Qt Widget Application 这里我们使用qmake而不是cmake 这是主界面&#xff0c;登录界面等后面再创建&#xff0c;这里要勾选上generate form&#xff0…

如何提高React组件的渲染效率的?在React中如何避免不必要的render?

面试官&#xff1a;说说你是如何提高组件的渲染效率的&#xff1f;在React中如何避免不必要的render&#xff1f; 一、是什么 react 基于虚拟 DOM 和高效 Diff 算法的完美配合&#xff0c;实现了对 DOM 最小粒度的更新&#xff0c;大多数情况下&#xff0c;React 对 DOM 的渲染…