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

server/2025/3/23 8:14:37/
  • 操作系统: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;
}

运行结果

在这里插入图片描述


http://www.ppmy.cn/server/176901.html

相关文章

Flutter Dart 异步支持全面解析

引言 在 Flutter 开发中&#xff0c;Dart 语言提供了强大的异步支持机制。异步编程能够让程序在执行耗时操作&#xff08;如网络请求、文件读写等&#xff09;时&#xff0c;不会阻塞主线程&#xff0c;从而保证用户界面的流畅性和响应性。本文将详细介绍 Dart 中常见的异步编…

人工智能实现电脑任务自动化的开源软件

人工智能实现电脑任务自动化的开源软件 hallo大家好&#xff0c;我是星哥&#xff0c;今天给大家介绍一个开源软件&#xff0c;融合了人工智能与机器人流程自动化&#xff08;AIRPA&#xff09;的开源软件autoMate! autoMate是什么 autoMate 是一款由开源开发的本地自动化工…

从零开始写C++3D游戏引擎(开发环境VS2022+OpenGL)之十一 从打光到材质 细嚼慢咽逐条读代码系列

写在篇前的话 作为一个曾经在代码堆里面苦苦挣扎的萌新,困惑的事情在于库,各种依赖,包换文件,链接库,纠结于代码的作用意义。尤其在3D引擎开发的问题上,很多人都被各种困难给阻拦,放弃了在3D渲染,3D游戏引擎上大涨鸿图的机会。 当然关于3D游戏引擎的教程已经汗牛充栋…

Spring MVC 拦截器使用

javaweb过滤器和springmvc拦截器&#xff1a; 拦截器的概念 拦截器使用 1/创建拦截器类&#xff0c;类中实现 handler执行前&#xff0c;执行后与渲染视图后的具体实现方法 public class GlobalExceptionHandler implements HandlerInterceptor {// if( ! preHandler()){re…

【CSS文字渐变动画】

CSS文字渐变动画 HTML代码CSS代码效果图 HTML代码 <div class"title"><h1>今天是春分</h1><p>正是春天到来的日子&#xff0c;花都开了&#xff0c;小鸟也飞回来了&#xff0c;大山也绿了起来&#xff0c;空气也有点嫩嫩的气息了</p>…

施磊老师c++(八)

语法 是 很不重要的, 基本的回会了就行了 cpp 面经 文章目录 cpp 面经1.程序的内存布局?--可以详看施磊老师第一节课2.堆栈区别3.函数调用参数是怎么传递的?4.为什么函数调用从右往左压栈5.函数题6.类和结构体的内存对齐----空结构体 1.程序的内存布局?–可以详看施磊老师第…

豪越科技消防一体化:数字中国智慧应急的关键支撑

在数字中国建设加速推进的当下&#xff0c;国家数据局对 2025 数字中国任务的部署&#xff0c;为各领域数字化转型指明了方向。其中&#xff0c;智慧应急作为保障城市安全运行的重要环节&#xff0c;备受关注。豪越科技消防一体化安全管控解决方案&#xff0c;凭借其先进的理念…

CSS3-2D转换、动画、3D转换详解

一、CSS3 2D转换 CSS3的2D转换允许对HTML元素进行移动、旋转、缩放、倾斜等操作&#xff0c;无需使用图片即可实现丰富的视觉效果。通过transform属性实现 1. 二维坐标系 移动盒子的位置&#xff1a; 定位 盒子的外边距 2d转换移动 2D转换是改变标签在二维平面上的位置和…