欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > OpenCV计算摄影学(23)艺术化风格化处理函数stylization()

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

2025/3/18 16:23:34 来源:https://blog.csdn.net/jndingxin/article/details/146312912  浏览:    关键词: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;
}

运行结果

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词