2026/1/15 9:53:18
网站建设
项目流程
巴中免费网站建设,遵义网站推广,专业做互联网招聘的网站有哪些内容,百度点击器找名风概述这个例子介绍OpenCV中Photo模块的各种图像处理方法#xff0c;主要用于图像美化和艺术效果处理。主要包括边缘保持滤波、细节增强、铅笔画效果与风格化。效果#xff1a;实践先来看下边缘保持滤波的这两个#xff1a;// 边缘保持滤波 - NormconvFilter
using var normco…概述这个例子介绍OpenCV中Photo模块的各种图像处理方法主要用于图像美化和艺术效果处理。主要包括边缘保持滤波、细节增强、铅笔画效果与风格化。效果实践先来看下边缘保持滤波的这两个// 边缘保持滤波 - NormconvFilter using var normconv new Mat(); Cv2.EdgePreservingFilter(_originalMat, normconv, EdgePreservingMethods.NormconvFilter); NormconvImage ConvertMatToBitmapImage(normconv); // 边缘保持滤波 - RecursFilter using var recursFiltered new Mat(); Cv2.EdgePreservingFilter(_originalMat, recursFiltered, EdgePreservingMethods.RecursFilter); RecursFilteredImage ConvertMatToBitmapImage(recursFiltered);来看下Cv2.EdgePreservingFilter的函数签名public static void EdgePreservingFilter(InputArray src, OutputArray dst, EdgePreservingMethods flags EdgePreservingMethods.RecursFilter, float sigmaS 60f, float sigmaR 0.4f)EdgePreservingFilter 是 OpenCV 中的一种边缘保持平滑滤波器它能够在平滑图像的同时保持边缘的清晰度。这种滤波技术在许多计算机视觉应用中非常有用如 HDR 成像、图像增强和艺术效果处理等。查看参数含义参数名类型含义取值范围srcInputArray输入的 8 位 3 通道图像-dstOutputArray输出的 8 位 3 通道图像-flagsEdgePreservingMethods边缘保持滤波方法RECURS_FILTER, NORMCONV_FILTERsigmaSfloat范围参数控制平滑程度0 到 200sigmaRfloat空间参数控制边缘保持程度0 到 1sigmaS 参数调优平滑程度推荐值效果轻度平滑20-50保留更多细节中度平滑50-100平衡效果重度平滑100-200明显平滑效果sigmaR 参数调优边缘保持强度推荐值效果强边缘保持0.1-0.3边缘清晰平滑较少平衡效果0.3-0.5适中的边缘保持更多平滑0.5-1.0更多平滑边缘模糊再来看下细节增强// 细节增强 using var detailEnhance new Mat(); Cv2.DetailEnhance(_originalMat, detailEnhance); DetailEnhanceImage ConvertMatToBitmapImage(detailEnhance);查看Cv2.DetailEnhance的函数签名public static void DetailEnhance(InputArray src, OutputArray dst, float sigmaS 10f, float sigmaR 0.15f)DetailEnhance 是 OpenCV 中的一种细节增强滤波器专门用于增强图像中的细节信息。与边缘保持滤波器不同这个函数的主要目标是突出图像中的细节使图像看起来更加清晰和生动。查看参数参数名类型含义取值范围srcInputArray输入的 8 位 3 通道图像-dstOutputArray输出图像与 src 具有相同大小和类型-sigmaSfloat空间窗口大小参数0 到 200sigmaRfloat颜色相似度参数0 到 1现在来看下铅笔画// 铅笔画 - 灰度和彩色 using var pencil1 new Mat(); using var pencil2 new Mat(); Cv2.PencilSketch(_originalMat, pencil1, pencil2); Pencil1Image ConvertMatToBitmapImage(pencil1); Pencil2Image ConvertMatToBitmapImage(pencil2);查看Cv2.PencilSketch的函数签名public static void PencilSketch(InputArray src, OutputArray dst1, OutputArray dst2, float sigmaS 60f, float sigmaR 0.07f, float shadeFactor 0.02f)PencilSketch 是 OpenCV 中的一种非真实感渲染滤波器用于创建铅笔素描风格的图像效果。该函数可以生成两种输出一种是黑白线条素描另一种是彩色素描效果。查看参数参数名类型含义取值范围srcInputArray输入的 8 位 3 通道图像-dst1OutputArray输出的 8 位 1 通道黑白素描图像-dst2OutputArray输出的与 src 相同大小和类型的彩色素描图像-sigmaSfloat空间窗口大小参数0 到 200sigmaRfloat颜色相似度参数0 到 1shadeFactorfloat阴影因子参数0 到 0.1sigmaS 参数调优线条粗细推荐值效果细线条20-50精细素描保留更多细节中等线条50-100标准素描效果适合大多数场景粗线条100-200粗犷素描风格艺术效果明显sigmaR 参数调优颜色分离度推荐值效果强颜色分离0.05-0.15清晰线条适合细节丰富的图像平衡效果0.15-0.3适中的线条清晰度颜色混合0.3-1.0模糊线条柔和效果shadeFactor 参数调优明暗程度推荐值效果明亮素描0.01-0.03线条较淡适合浅色图像标准素描0.03-0.05适中的明暗对比暗调素描0.05-0.1线条明显适合高对比度效果参数组合效果sigmaSsigmaRshadeFactor效果描述小(20-50)小(0.05-0.15)小(0.01-0.03)精细明亮素描适合人像小(20-50)大(0.3-1.0)大(0.05-0.1)细线条暗调素描艺术效果中(50-100)小(0.05-0.15)中(0.03-0.05)标准素描效果适合风景中(50-100)大(0.3-1.0)大(0.05-0.1)中等线条暗调素描平衡效果大(100-200)小(0.05-0.15)小(0.01-0.03)粗线条明亮素描特殊效果大(100-200)大(0.3-1.0)大(0.05-0.1)粗犷暗调素描强烈艺术风格实际应用建议应用场景sigmaSsigmaRshadeFactor效果人像素描40-700.05-0.10.02-0.04保留面部特征风景素描60-1000.07-0.150.03-0.05突出自然景观建筑素描50-800.05-0.10.02-0.04突出建筑结构艺术创作80-1500.1-0.20.04-0.08强烈艺术效果卡通效果30-600.15-0.30.02-0.03柔和卡通风格再来看下风格化// 风格化 using var stylized new Mat(); Cv2.Stylization(_originalMat, stylized); StylizedImage ConvertMatToBitmapImage(stylized);查看Cv2.Stylization的函数签名public static void Stylization(InputArray src, OutputArray dst, float sigmaS 60f, float sigmaR 0.45f)Stylization 是 OpenCV 中的一种非真实感渲染滤波器用于创建艺术风格化的图像效果。该函数通过平滑低对比度区域同时保持或增强高对比度特征实现图像的风格化处理不专注于真实感而是追求多样化的艺术效果。基本参数参数名类型含义取值范围srcInputArray输入的 8 位 3 通道图像-dstOutputArray输出的与 src 相同大小和类型的图像-sigmaSfloat空间窗口大小参数0 到 200sigmaRfloat颜色相似度参数0 到 1sigmaS 参数调优平滑程度推荐值效果轻度平滑20-50保留更多细节轻微风格化中度平滑50-100平衡效果适合大多数场景重度平滑100-200强烈风格化艺术效果明显sigmaR 参数调优颜色分离度推荐值效果强颜色分离0.05-0.3保持颜色边界清晰区域分离平衡效果0.3-0.6适中的颜色混合和风格化颜色混合0.6-1.0强烈颜色混合平滑过渡