OpenCV计算摄影学(21)非真实感渲染之边缘保留滤波器edgePreservingFilter()

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

算法描述

滤波是图像和视频处理中的基础操作。边缘保留平滑滤波器被广泛应用于多种不同场景98

cv::edgePreservingFilter 是一种边缘保留滤波器,用于在平滑图像的同时保留边缘细节。其核心目标是:

  • 降噪:减少图像中的噪声。
  • 边缘保护:避免平滑操作模糊图像中的边缘和重要结构。

工作原理

  • 边缘检测:

    计算图像梯度或边缘强度,标记潜在边缘区域。

  • 空间域平滑:

    使用高斯滤波对图像进行初步平滑(由sigma_s控制范围)。

  • 频率域滤波:

    在频域中应用高斯滤波,保留与边缘相关的高频成分,抑制噪声(由sigma_r控制颜色相似性)。

  • 边缘恢复:

    根据边缘信息修正平滑后的图像,确保边缘清晰(具体方式取决于flags选择的算法)。

  • 输出:

    将处理后的图像转换回空间域,得到最终结果。

    函数原型

cpp 复制代码
void cv::edgePreservingFilter 	
(
	 	InputArray  	src,
		OutputArray  	dst,
		int  	flags = 1,
		float  	sigma_s = 60,
		float  	sigma_r = 0.4f 
) 		

参数

  • src 输入 8 位 3 通道图像。
  • dst 输出 8 位 3 通道图像。
  • flags 边缘保护滤波器类型:cv::RECURS_FILTER 或 cv::NORMCONV_FILTER。
  • sigma_s 取值范围为 0~200。
  • sigma_r 取值范围为 0~1。

代码示例

cpp 复制代码
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main( int argc, char* argv[] )
{
    Mat src = imread( "/media/dingxin/data/study/OpenCV/sources/images/jiangnan.jpg" );  // 输入图像
    if ( src.empty() )
    {
        printf( "不能打开图像!\n" );
        return -1;
    }

    namedWindow( "1-原图", WINDOW_AUTOSIZE );
    imshow( "1-原图", src );

    Mat dst;
    edgePreservingFilter( src, dst, 1, 60, 0.44 );  // 调用滤波函数
    imshow( "2-edgePreservingFilter", dst );

    waitKey( 0 );
    return 0;
}

运行结果

相关推荐
fuquxiaoguang2 小时前
中间件的“价值重估”:传统同质化竞争终结,AI智能编排时代开启
人工智能·中间件
触底反弹3 小时前
🔥 前端也能玩转 AI 流式输出!从二进制流到打字机效果,一篇讲透
javascript·人工智能·node.js
腾渊信息科技公司3 小时前
工业数据运维痛点根治方案:基于AI Agent的产线自动化台账系统落地
运维·人工智能·自动化·个人开发·ai编程
西安老张(AIGC&ComfyUI)3 小时前
第030章:ComfyUI视频制作LTX-2.3模型文生视频工作流详解(三)
人工智能·aigc·comfyui
苦猿的大模型日记3 小时前
Day25 | 模型量化横评 GPTQ vs AWQ vs GGUF vs INT8——同一个 Qwen3-8B 压四遍,谁还活着
人工智能
benchmark_cc3 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
深海鱼肝油ya3 小时前
小说自动生成系统(二)
人工智能·大模型·agent·智能体·自动化编程·小说生成系统
通问AI4 小时前
Apple Intelligence 国行备案深度技术解析:阿里千问如何被集成到苹果端侧AI架构
人工智能·架构
视***间4 小时前
算力赋能零售与创意新生态:视程空间Pandora,解锁线下场景智能化无限可能
人工智能·边缘计算·智慧零售·ai算力·视程空间·创意开发
冬奇Lab4 小时前
MCP 系列(08):企业治理——Registry、路由与可观测性
人工智能·llm·mcp