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

OpenCV CUDA模块直方图计算------在 GPU上执行直方图均衡化(Histogram Equalization)函数equalizeHist

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

cv::cuda::equalizeHist 用于增强图像的对比度,通过将图像的灰度直方图重新分布,使得图像整体对比度更加明显。
这在医学图像、夜视图像、低对比度图像中特别有用。

函数原型

void cv::cuda::equalizeHist
(InputArray  	src,OutputArray  	dst,Stream &  	stream = Stream::Null() 
) 	

参数

  • src 源图像,类型为 CV_8UC1(即单通道、8位无符号整型图像)。
  • dst 目标图像,与源图像具有相同的尺寸和类型。
  • stream 用于异步执行的流(Stream),可实现与主机的异步操作。

代码示例

#include <iostream>
#include <opencv2/cudaimgproc.hpp>  // 包含 equalizeHist 函数
#include <opencv2/opencv.hpp>int main()
{// 读取灰度图像cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_GRAYSCALE );if ( img.empty() ){std::cerr << "无法加载图像" << std::endl;return -1;}// 将图像上传到 GPUcv::cuda::GpuMat d_img, d_result;d_img.upload( img );// 在 GPU 上执行直方图均衡化cv::cuda::equalizeHist( d_img, d_result );// 下载结果到 CPUcv::Mat result;d_result.download( result );// 显示原始图像和处理后的图像cv::imshow( "Original Image", img );cv::imshow( "Equalized Image", result );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述

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

相关文章:

  • OpenAI大模型不听人类指令事件的技术分析与安全影响
  • ansible中的inventory.ini 文件详解
  • Ansible模块——Ansible的安装!
  • k8s Headless Service
  • 懒人云电脑方案:飞牛NAS远程唤醒 + 节点小宝一键唤醒、远程控制Windows!
  • day10机器学习的全流程
  • 嵌入式通用集成电路卡市场潜力报告:物联网浪潮下的机遇与挑战剖析
  • 政务小程序TOP3交互设计分析:便民服务的隐藏心机
  • C语言 文件操作(2)
  • 实验三 企业网络搭建及应用
  • 基于线结构光模型的工件孔洞检查
  • 第五章 面向对象(进阶)
  • CC工具箱2.0.6更新_免费_150+工具
  • 智能外呼机器人——客户筛选
  • 桃黑黑反斗战
  • Doris主键模型使用异步物化视图
  • Linux——数据链路层
  • 仿DeepSeek AI问答系统完整版(带RAG本地知识库+联网搜索+深度思考) +springboot+vue3
  • JS手写代码篇---Pomise.race
  • 2024 CKA模拟系统制作 | Step-By-Step | 11、题目搭建-查看可用节点数量
  • Mysql基础增删改查语句
  • XCTF-web-file_include
  • 智慧财务系统:企业数字化转型的核心引擎
  • [yolov11改进系列]基于yolov11引入混合标准卷积与深度可分离卷积GSConv用于轻量化网络的python源码+训练源码
  • Android获取设备信息
  • github actions入门指南
  • .NET 9正式发布,亮点是.NET Aspire和AI
  • Linux `vi/vim` 编辑器深度解析与高阶应用指南
  • Golang | 搜索哨兵-对接分布式gRPC服务
  • vue修改配置文件.env.development不生效