OpenCV CUDA模块图像变形------对图像进行 尺寸缩放(Resize)操作函数resize()

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

算法描述

该函数用于对图像进行 尺寸缩放(Resize)操作,是 GPU 加速版本的图像缩放函数。你可以通过指定目标尺寸 dsize 或者缩放因子 fx 和 fy 来控制输出图像大小,并选择插值方式以平衡速度与质量。

函数原型

cpp 复制代码
void cv::cuda::resize 	
(
 	InputArray  	src,
	OutputArray  	dst,
	Size  	dsize,
	double  	fx = 0,
	double  	fy = 0,
	int  	interpolation = INTER_LINEAR,
	Stream &  	stream = Stream::Null() 
) 		

参数

参数名 说明
src 源图像。
dst 目标图像,类型与 src 相同。尺寸为 dsize(当其非零时),否则根据 src.size()fxfy 自动计算。
dsize 输出图像的尺寸(宽 x 高)。如果设为零,则按如下方式计算: dsize = Size(round(fx * src.cols), round(fy * src.rows)) 必须满足:dsize 非零,或者 fxfy 同时非零。
fx 水平方向的缩放比例因子。如果为零,则自动计算为: (double)dsize.width / src.cols
fy 垂直方向的缩放比例因子。如果为零,则自动计算为: (double)dsize.height / src.rows
interpolation 插值方法。目前支持 INTER_NEARESTINTER_LINEARINTER_CUBIC
stream 用于异步版本的 CUDA 流对象。

代码示例

cpp 复制代码
#include <opencv2/cudaimgproc.hpp>  // 包含 resize
#include <opencv2/opencv.hpp>
#include <opencv2/cudawarping.hpp>

int main()
{
    // 读取图像
    cv::Mat h_src = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_COLOR );
    if ( h_src.empty() )
    {
        std::cerr << "无法加载图像!" << std::endl;
        return -1;
    }

    // 上传到 GPU
    cv::cuda::GpuMat d_src, d_dst;
    d_src.upload( h_src );

    // 设置目标尺寸为原图的一半
    cv::Size dsize( h_src.cols / 2, h_src.rows / 2 );

    // 执行 resize
    cv::cuda::resize( d_src, d_dst, dsize, 0, 0, cv::INTER_LINEAR );

    // 下载并显示结果
    cv::Mat h_dst;
    d_dst.download( h_dst );
    cv::imshow( "Original Image", h_src );
    cv::imshow( "Resized Image", h_dst );
    cv::waitKey( 0 );

    return 0;
}

运行结果

相关推荐
NAGNIP18 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab19 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab19 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP1 天前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年1 天前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼1 天前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS1 天前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区1 天前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈1 天前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang1 天前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx