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

OpenCV图像自动缩放(Autoscaling)函数autoscaling()

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

算法描述

该函数用于对输入图像进行自动缩放(Autoscaling),即根据输入图像的像素值范围将其线性映射到一个新的范围内(例如 [0, 255]),从而增强图像的对比度。

这属于一种**强度变换(Intensity Transformation)**方法,常用于图像处理中改善图像视觉效果或为后续处理做准备。

  • 此函数会计算输入图像的最小值和最大值。

  • 然后将图像的像素值线性地拉伸到目标范围(通常是 0 到 255 的 uchar 范围)。

  • 相当于执行了以下公式:
    output(x,y)=input(x,y)−min⁡max⁡−min⁡×255\text{output}(x, y) = \frac{\text{input}(x, y) - \min}{\max - \min} \times 255output(x,y)=maxmininput(x,y)min×255

  • 如果输入是浮点型图像(如 CV_32F 或 CV_64F),这个操作尤其有用。

函数原型

void cv::intensity_transform::autoscaling 	
(const Mat  	input,Mat &  	output 
) 		

参数

参数名类型含义
inputconst Mat输入图像矩阵。支持单通道或多通道图像,但通常用于灰度图。
outputMat&输出图像矩阵,与输入图像尺寸和类型相同,但像素值被自动缩放到新范围(如 0~255)。

应用场景:

  • 图像增强(提高对比度)
  • 预处理步骤(如用于机器学习、计算机视觉任务)
  • 可视化浮点图像数据(如梯度图、深度图等)

示例代码


#include <opencv2/intensity_transform.hpp>
#include <opencv2/opencv.hpp>int main()
{// 读取图像(灰度图)cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_GRAYSCALE );cv::Mat result;// 转换为浮点型图像以便处理cv::Mat floatImg;img.convertTo( floatImg, CV_32F );// 自动缩放cv::intensity_transform::autoscaling( floatImg, result );// 将结果转换回 8U 类型显示cv::Mat finalResult;result.convertTo( finalResult, CV_8U );// 显示结果cv::imshow( "Original", img );cv::imshow( "Auto-scaled", finalResult );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述

http://www.dtcms.com/a/280480.html

相关文章:

  • 2025.7.15总结
  • 用Python构建机器学习模型预测股票趋势:从数据到部署的实战指南
  • 希尔排序:突破传统排序的边界
  • 【Java】【企业级应用】学生信息管理系统项目介绍
  • Mybatis05-动态sql
  • 深度解析 AI 提示词工程(Prompt Engineering)
  • 2025世界机器人大赛ICode专属训练平台图形化小学组答案
  • 光伏设计全方位指南
  • B/S 架构通信原理详解
  • sqli-labs靶场通关笔记:第17关 POST请求的密码重置
  • 如何配置maven
  • 【Linux手册】重定向是如何实现的?Linux下为什么一切皆文件?
  • flutter下的webview适配rem问题
  • 【NBA】75 Greatest NBA Players of All Time
  • 春秋云镜 initial
  • Uniapp动态切换主题与老年模式详解
  • 12.6 Google黑科技GShard:6000亿参数MoE模型如何突破显存限制?
  • Zen:一款简洁高效、注重隐私的开源浏览器
  • 小白学HTML,操作HTML网页篇(1)
  • 密码工程原理与技术——总复习
  • 灰度图像,RGB图像和二值图像
  • 从OSI到TCP/IP:Linux网络架构深度解析
  • react - 根据路由生成菜单
  • 多模态大模型研究每日简报(2025-07-14)
  • AI应用服务
  • 整除分块练习题
  • 某地金属矿山自动化监测服务项目
  • Python 数据建模与分析项目实战预备 Day 6 - 多模型对比与交叉验证验证策略
  • 2.【C# in .NET】探秘数据类型:从底层机制到实战启示
  • MySQL高级篇(二):深入理解数据库事务与MySQL锁机制