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

OpenCV计算摄影学(23)艺术化风格化处理函数stylization()

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

算法描述

风格化的目的是生成不以照片写实为目标的多种多样数字图像效果。边缘感知滤波器是风格化处理的理想选择,因为它们能够弱化低对比度区域,同时保留或增强高对比度特征。
该函数通过艺术化风格化处理,将输入图像转换为具有油画或卡通风格的图像,增强边缘和纹理的对比度,同时保留主要颜色块。

核心效果:

  • 强化边缘,使图像呈现类似油画笔触或卡通渲染的视觉效果。
  • 通过调整参数,可控制风格化的强度(如颜色对比、区域平滑程度)。

函数原型

void cv::stylization 	
(
	 	InputArray  	src,
		OutputArray  	dst,
		float  	sigma_s = 60,
		float  	sigma_r = 0.45f 
) 		

参数

  • src 输入 8位三通道图像。

  • dst 输出图像与src具有相同的尺寸和类型。

  • sigma_s 范围在0到200之间。

  • sigma_r 范围在0到1之间。

代码示例

#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;

int main()
{
    Mat src = imread( "/media/dingxin/data/study/OpenCV/sources/images/jiangnan.jpg" );
    if ( src.empty() )
    {
        cout << "无法读取图像!" << endl;
        return -1;
    }

    Mat dst;
    // 使用默认参数生成风格化图像
    stylization( src, dst, 60, 0.45 );
    // 或自定义参数:
    // stylization(src, dst, 100, 0.2);  // 强化边缘效果

    imshow( "原图", src );
    imshow( "风格化效果", dst );
    waitKey( 0 );
    return 0;
}

运行结果

在这里插入图片描述

相关文章:

  • 【Android Studio】解决遇到的一些问题
  • Vue3项目中可以尝试封装那些组件
  • SpringSecurity——如何实现验证码登录页面
  • 内存回收异常导致OOM的问题
  • Android中的Wifi框架系列
  • JS中的变量提升
  • OpenCV 图像双线性插值
  • 地球46亿年历史的“微观褶皱”
  • 六十天前端强化训练之第二十二天之React 框架 15天深度学习总结(大师版)
  • 节点编辑器STNodeEditor快速入门,流程图编程
  • 【USTC 计算机网络】第二章:应用层 - 应用层原理
  • postgresql 高版本pgsql备份在低版本pgsql中恢复失败,报错:“unsupported version”
  • 直线模组定位精度差的原因
  • Flume详解——介绍、部署与使用
  • 最长最短单词(信息学奥赛一本通-1143)
  • 深圳南柯电子|医疗设备EMC检测测试整改:保障患者安全的第一步
  • centos 安装pip时报错 Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
  • cmd->set ngx_event_connections
  • axios 和 fetch异同点
  • 用户登出、修改密码或重置密码后,token的删除(flask)
  • 化学家、台湾地区“中研院”原学术副院长陈长谦逝世
  • 中国驻美国大使馆发言人就中美经贸高层会谈答记者问
  • 明星站台“胖都来”背后:百元起录视频,20万可请顶流
  • 超燃!走过莫斯科街头的“中国排面”
  • 农行原首席专家兼浙江省分行原行长冯建龙主动投案被查
  • 五一假期上海边检查验出入境人员超61万人次,同比增长23%