类 Photo


  • public class Photo
    extends java.lang.Object
    • 构造函数摘要

      构造函数 
      构造函数 描述
      Photo()  
    • 方法摘要

      所有方法 静态方法 具体方法 
      修饰符和类型 方法 描述
      static void colorChange​(Mat src, Mat mask, Mat dst)
      给定一个原始彩色图像,可以无缝地混合该图像的两个不同颜色的版本。
      static void colorChange​(Mat src, Mat mask, Mat dst, float red_mul)
      给定一个原始彩色图像,可以无缝地混合该图像的两个不同颜色的版本。
      static void colorChange​(Mat src, Mat mask, Mat dst, float red_mul, float green_mul)
      给定一个原始彩色图像,可以无缝地混合该图像的两个不同颜色的版本。
      static void colorChange​(Mat src, Mat mask, Mat dst, float red_mul, float green_mul, float blue_mul)
      给定一个原始彩色图像,可以无缝地混合该图像的两个不同颜色的版本。
      static AlignMTB createAlignMTB()
      创建 AlignMTB 对象,通常足够好(分别为 31 和 63 像素偏移)。
      static AlignMTB createAlignMTB​(int max_bits)
      创建 AlignMTB 对象
      static AlignMTB createAlignMTB​(int max_bits, int exclude_range)
      创建 AlignMTB 对象
      static AlignMTB createAlignMTB​(int max_bits, int exclude_range, boolean cut)
      创建 AlignMTB 对象
      static CalibrateDebevec createCalibrateDebevec()
      创建 CalibrateDebevec 对象响应。
      static CalibrateDebevec createCalibrateDebevec​(int samples)
      创建 CalibrateDebevec 对象
      static CalibrateDebevec createCalibrateDebevec​(int samples, float lambda)
      创建 CalibrateDebevec 对象
      static CalibrateDebevec createCalibrateDebevec​(int samples, float lambda, boolean random)
      创建 CalibrateDebevec 对象
      static CalibrateRobertson createCalibrateRobertson()
      创建 CalibrateRobertson 对象
      static CalibrateRobertson createCalibrateRobertson​(int max_iter)
      创建 CalibrateRobertson 对象
      static CalibrateRobertson createCalibrateRobertson​(int max_iter, float threshold)
      创建 CalibrateRobertson 对象
      static MergeDebevec createMergeDebevec()
      创建 MergeDebevec 对象
      static MergeMertens createMergeMertens()
      创建 MergeMertens 对象
      static MergeMertens createMergeMertens​(float contrast_weight)
      创建 MergeMertens 对象
      static MergeMertens createMergeMertens​(float contrast_weight, float saturation_weight)
      创建 MergeMertens 对象
      static MergeMertens createMergeMertens​(float contrast_weight, float saturation_weight, float exposure_weight)
      创建 MergeMertens 对象
      static MergeRobertson createMergeRobertson()
      创建 MergeRobertson 对象
      static Tonemap createTonemap()
      创建简单的线性映射器,伽马校正等于 2.2f,适用于大多数显示器。
      static Tonemap createTonemap​(float gamma)
      创建具有伽马校正的简单线性映射器
      static TonemapDrago createTonemapDrago()
      创建 TonemapDrago 对象,大于 1 会增加饱和度,小于 1 会降低饱和度。
      static TonemapDrago createTonemapDrago​(float gamma)
      创建 TonemapDrago 对象
      static TonemapDrago createTonemapDrago​(float gamma, float saturation)
      创建 TonemapDrago 对象
      static TonemapDrago createTonemapDrago​(float gamma, float saturation, float bias)
      创建 TonemapDrago 对象
      static TonemapMantiuk createTonemapMantiuk()
      创建 TonemapMantiuk 对象动态范围。
      static TonemapMantiuk createTonemapMantiuk​(float gamma)
      创建 TonemapMantiuk 对象
      static TonemapMantiuk createTonemapMantiuk​(float gamma, float scale)
      创建 TonemapMantiuk 对象
      static TonemapMantiuk createTonemapMantiuk​(float gamma, float scale, float saturation)
      创建 TonemapMantiuk 对象
      static TonemapReinhard createTonemapReinhard()
      创建 TonemapReinhard 对象值,如果为 0,则为全局值,否则为这两种情况的加权平均值。
      static TonemapReinhard createTonemapReinhard​(float gamma)
      创建 TonemapReinhard 对象
      static TonemapReinhard createTonemapReinhard​(float gamma, float intensity)
      创建 TonemapReinhard 对象
      static TonemapReinhard createTonemapReinhard​(float gamma, float intensity, float light_adapt)
      创建 TonemapReinhard 对象
      static TonemapReinhard createTonemapReinhard​(float gamma, float intensity, float light_adapt, float color_adapt)
      创建 TonemapReinhard 对象
      static void decolor​(Mat src, Mat grayscale, Mat color_boost)
      将彩色图像转换为灰度图像。
      static void denoise_TVL1​(java.util.List<Mat> observations, Mat result)
      原始对偶算法是用于解决特殊类型的变分问题的算法(即,找到一个函数来最小化某个泛函)。
      static void denoise_TVL1​(java.util.List<Mat> observations, Mat result, double lambda)
      原始对偶算法是用于解决特殊类型的变分问题的算法(即,找到一个函数来最小化某个泛函)。
      static void denoise_TVL1​(java.util.List<Mat> observations, Mat result, double lambda, int niters)
      原始对偶算法是用于解决特殊类型的变分问题的算法(即,找到一个函数来最小化某个泛函)。
      static void detailEnhance​(Mat src, Mat dst)
      此滤镜增强特定图像的细节。
      static void detailEnhance​(Mat src, Mat dst, float sigma_s)
      此滤镜增强特定图像的细节。
      static void detailEnhance​(Mat src, Mat dst, float sigma_s, float sigma_r)
      此滤镜增强特定图像的细节。
      static void edgePreservingFilter​(Mat src, Mat dst)
      滤波是图像和视频处理中的基本操作。
      static void edgePreservingFilter​(Mat src, Mat dst, int flags)
      滤波是图像和视频处理中的基本操作。
      static void edgePreservingFilter​(Mat src, Mat dst, int flags, float sigma_s)
      滤波是图像和视频处理中的基本操作。
      static void edgePreservingFilter​(Mat src, Mat dst, int flags, float sigma_s, float sigma_r)
      滤波是图像和视频处理中的基本操作。
      static void fastNlMeansDenoising​(Mat src, Mat dst)
      使用非局部均值降噪算法 进行图像降噪,并进行了一些计算优化。
      static void fastNlMeansDenoising​(Mat src, Mat dst, float h)
      使用非局部均值降噪算法 进行图像降噪,并进行了一些计算优化。
      static void fastNlMeansDenoising​(Mat src, Mat dst, float h, int templateWindowSize)
      使用非局部均值降噪算法 进行图像降噪,并进行了一些计算优化。
      static void fastNlMeansDenoising​(Mat src, Mat dst, float h, int templateWindowSize, int searchWindowSize)
      使用非局部均值降噪算法 进行图像降噪,并进行了一些计算优化。
      static void fastNlMeansDenoising​(Mat src, Mat dst, MatOfFloat h)
      使用非局部均值降噪算法 进行图像降噪,并进行了一些计算优化。
      static void fastNlMeansDenoising​(Mat src, Mat dst, MatOfFloat h, int templateWindowSize)
      使用非局部均值降噪算法 进行图像降噪,并进行了一些计算优化。
      static void fastNlMeansDenoising​(Mat src, Mat dst, MatOfFloat h, int templateWindowSize, int searchWindowSize)
      使用非局部均值降噪算法 进行图像降噪,并进行了一些计算优化。
      static void fastNlMeansDenoising​(Mat src, Mat dst, MatOfFloat h, int templateWindowSize, int searchWindowSize, int normType)
      使用非局部均值降噪算法 进行图像降噪,并进行了一些计算优化。
      static void fastNlMeansDenoisingColored​(Mat src, Mat dst)
      彩色图像的fastNlMeansDenoising函数修改版
      static void fastNlMeansDenoisingColored​(Mat src, Mat dst, float h)
      彩色图像的fastNlMeansDenoising函数修改版
      static void fastNlMeansDenoisingColored​(Mat src, Mat dst, float h, float hColor)
      彩色图像的fastNlMeansDenoising函数修改版
      static void fastNlMeansDenoisingColored​(Mat src, Mat dst, float h, float hColor, int templateWindowSize)
      彩色图像的fastNlMeansDenoising函数修改版
      static void fastNlMeansDenoisingColored​(Mat src, Mat dst, float h, float hColor, int templateWindowSize, int searchWindowSize)
      彩色图像的fastNlMeansDenoising函数修改版
      static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize)
      彩色图像序列的fastNlMeansDenoisingMulti函数修改版
      static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h)
      彩色图像序列的fastNlMeansDenoisingMulti函数修改版
      static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor)
      彩色图像序列的fastNlMeansDenoisingMulti函数修改版
      static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor, int templateWindowSize)
      彩色图像序列的fastNlMeansDenoisingMulti函数修改版
      static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor, int templateWindowSize, int searchWindowSize)
      彩色图像序列的fastNlMeansDenoisingMulti函数修改版
      static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize)
      图像序列的fastNlMeansDenoising函数修改版,其中连续图像在短时间内捕获。
      static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h)
      图像序列的fastNlMeansDenoising函数修改版,其中连续图像在短时间内捕获。
      static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, int templateWindowSize)
      图像序列的fastNlMeansDenoising函数修改版,其中连续图像在短时间内捕获。
      static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, int templateWindowSize, int searchWindowSize)
      图像序列的fastNlMeansDenoising函数修改版,其中连续图像在短时间内捕获。
      static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, MatOfFloat h)
      图像序列的fastNlMeansDenoising函数修改版,其中连续图像在短时间内捕获。
      static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, MatOfFloat h, int templateWindowSize)
      图像序列的fastNlMeansDenoising函数修改版,其中连续图像在短时间内捕获。
      static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, MatOfFloat h, int templateWindowSize, int searchWindowSize)
      图像序列的fastNlMeansDenoising函数修改版,其中连续图像在短时间内捕获。
      static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, MatOfFloat h, int templateWindowSize, int searchWindowSize, int normType)
      图像序列的fastNlMeansDenoising函数修改版,其中连续图像在短时间内捕获。
      static void illuminationChange​(Mat src, Mat mask, Mat dst)
      通过对选择区域内的梯度场应用适当的非线性变换,然后使用泊松求解器进行反向积分,可以局部修改图像的表观照明。
      static void illuminationChange​(Mat src, Mat mask, Mat dst, float alpha)
      通过对选择区域内的梯度场应用适当的非线性变换,然后使用泊松求解器进行反向积分,可以局部修改图像的表观照明。
      static void illuminationChange​(Mat src, Mat mask, Mat dst, float alpha, float beta)
      通过对选择区域内的梯度场应用适当的非线性变换,然后使用泊松求解器进行反向积分,可以局部修改图像的表观照明。
      static void inpaint​(Mat src, Mat inpaintMask, Mat dst, double inpaintRadius, int flags)
      使用区域邻域恢复图像中选定区域。
      static void pencilSketch​(Mat src, Mat dst1, Mat dst2)
      铅笔素描风格的非真实感线条绘制
      static void pencilSketch​(Mat src, Mat dst1, Mat dst2, float sigma_s)
      铅笔素描风格的非真实感线条绘制
      static void pencilSketch​(Mat src, Mat dst1, Mat dst2, float sigma_s, float sigma_r)
      铅笔素描风格的非真实感线条绘制
      static void pencilSketch​(Mat src, Mat dst1, Mat dst2, float sigma_s, float sigma_r, float shade_factor)
      铅笔素描风格的非真实感线条绘制
      static void seamlessClone​(Mat src, Mat dst, Mat mask, Point p, Mat blend, int flags)
      执行无缝克隆,将源图像中的区域混合到目标图像中。
      static void stylization​(Mat src, Mat dst)
      风格化旨在产生具有各种效果的数字图像,而不是专注于照片真实感。
      static void stylization​(Mat src, Mat dst, float sigma_s)
      风格化旨在产生具有各种效果的数字图像,而不是专注于照片真实感。
      static void stylization​(Mat src, Mat dst, float sigma_s, float sigma_r)
      风格化旨在产生具有各种效果的数字图像,而不是专注于照片真实感。
      static void textureFlattening​(Mat src, Mat mask, Mat dst)
      通过仅保留边缘位置的梯度,然后使用泊松求解器进行积分,可以去除选定区域的纹理,使其内容呈现平坦的外观。
      static void textureFlattening​(Mat src, Mat mask, Mat dst, float low_threshold)
      通过仅保留边缘位置的梯度,然后使用泊松求解器进行积分,可以去除选定区域的纹理,使其内容呈现平坦的外观。
      static void textureFlattening​(Mat src, Mat mask, Mat dst, float low_threshold, float high_threshold)
      通过仅保留边缘位置的梯度,然后使用泊松求解器进行积分,可以去除选定区域的纹理,使其内容呈现平坦的外观。
      static void textureFlattening​(Mat src, Mat mask, Mat dst, float low_threshold, float high_threshold, int kernel_size)
      通过仅保留边缘位置的梯度,然后使用泊松求解器进行积分,可以去除选定区域的纹理,使其内容呈现平坦的外观。
      • 继承自类 java.lang.Object的方法

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详情

      • INPAINT_NS

        public static final int INPAINT_NS
        另请参见
        常量字段值
      • INPAINT_TELEA

        public static final int INPAINT_TELEA
        另请参见
        常量字段值
      • RECURS_FILTER

        public static final int RECURS_FILTER
        另请参见
        常量字段值
      • NORMCONV_FILTER

        public static final int NORMCONV_FILTER
        另请参见
        常量字段值
      • NORMAL_CLONE

        public static final int NORMAL_CLONE
        另请参见
        常量字段值
      • MIXED_CLONE

        public static final int MIXED_CLONE
        另请参见
        常量字段值
      • MONOCHROME_TRANSFER

        public static final int MONOCHROME_TRANSFER
        另请参见
        常量字段值
      • NORMAL_CLONE_WIDE

        public static final int NORMAL_CLONE_WIDE
        另请参见
        常量字段值
      • MIXED_CLONE_WIDE

        public static final int MIXED_CLONE_WIDE
        另请参见
        常量字段值
      • MONOCHROME_TRANSFER_WIDE

        public static final int MONOCHROME_TRANSFER_WIDE
        另请参见
        常量字段值
    • 构造函数详情

      • Photo

        public Photo()
    • 方法详情

      • inpaint

        public static void inpaint​(Mat src,
                                   Mat inpaintMask,
                                   Mat dst,
                                   double inpaintRadius,
                                   int flags)
        使用区域邻域恢复图像中选定区域。
        参数
        src - 输入的8位、16位无符号或32位浮点型单通道或8位3通道图像。
        inpaintMask - 修复蒙版,8位1通道图像。非零像素表示需要修复的区域。
        dst - 与src大小和类型相同的输出图像。
        inpaintRadius - 算法考虑的每个修复点的圆形邻域半径。
        flags - 修复方法,可以是cv::INPAINT_NS或cv::INPAINT_TELEA。该函数从区域边界附近的像素重建选定的图像区域。该函数可用于去除扫描照片中的灰尘和划痕,或从静止图像或视频中去除不需要的对象。有关更多详细信息,请参见<http://en.wikipedia.org/wiki/Inpainting>。**注意:**
        • 在opencv_source_code/samples/cpp/inpaint.cpp中可以找到一个使用修复技术的示例。
        • (Python) 在opencv_source_code/samples/python/inpaint.py中可以找到一个使用修复技术的示例。
      • fastNlMeansDenoising

        public static void fastNlMeansDenoising​(Mat src,
                                                Mat dst,
                                                float h,
                                                int templateWindowSize,
                                                int searchWindowSize)
        使用非局部均值去噪算法 进行图像去噪,并进行一些计算优化。预期噪声为高斯白噪声。
        参数
        src - 输入8位1通道、2通道、3通道或4通道图像。
        dst - 与src大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        searchWindowSize - 用于计算给定像素加权平均值的窗口大小(像素)。应为奇数。线性影响性能:searchWindowSize越大,去噪时间越长。推荐值21像素。
        h - 调节滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。此函数预期应用于灰度图像。对于彩色图像,请查看fastNlMeansDenoisingColored。此函数的高级用法可以对不同色彩空间的彩色图像进行手动去噪。fastNlMeansDenoisingColored通过将图像转换为CIELAB色彩空间,然后分别使用不同的h参数对L和AB分量进行去噪来实现这种方法。
      • fastNlMeansDenoising

        public static void fastNlMeansDenoising​(Mat src,
                                                Mat dst,
                                                float h,
                                                int templateWindowSize)
        使用非局部均值去噪算法 进行图像去噪,并进行一些计算优化。预期噪声为高斯白噪声。
        参数
        src - 输入8位1通道、2通道、3通道或4通道图像。
        dst - 与src大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        h - 调节滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。此函数预期应用于灰度图像。对于彩色图像,请查看fastNlMeansDenoisingColored。此函数的高级用法可以对不同色彩空间的彩色图像进行手动去噪。fastNlMeansDenoisingColored通过将图像转换为CIELAB色彩空间,然后分别使用不同的h参数对L和AB分量进行去噪来实现这种方法。
      • fastNlMeansDenoising

        public static void fastNlMeansDenoising​(Mat src,
                                                Mat dst,
                                                float h)
        使用非局部均值去噪算法 进行图像去噪,并进行一些计算优化。预期噪声为高斯白噪声。
        参数
        src - 输入8位1通道、2通道、3通道或4通道图像。
        dst - 与src大小和类型相同的输出图像。
        h - 调节滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。此函数预期应用于灰度图像。对于彩色图像,请查看fastNlMeansDenoisingColored。此函数的高级用法可以对不同色彩空间的彩色图像进行手动去噪。fastNlMeansDenoisingColored通过将图像转换为CIELAB色彩空间,然后分别使用不同的h参数对L和AB分量进行去噪来实现这种方法。
      • fastNlMeansDenoising

        public static void fastNlMeansDenoising​(Mat src,
                                                Mat dst)
        使用非局部均值去噪算法 进行图像去噪,并进行一些计算优化。预期噪声为高斯白噪声。
        参数
        src - 输入8位1通道、2通道、3通道或4通道图像。
        dst - 与src大小和类型相同的输出图像。
      • fastNlMeansDenoising

        public static void fastNlMeansDenoising​(Mat src,
                                                Mat dst,
                                                MatOfFloat h,
                                                int templateWindowSize,
                                                int searchWindowSize,
                                                int normType)
        使用非局部均值去噪算法 进行图像去噪,并进行一些计算优化。预期噪声为高斯白噪声。
        参数
        src - 输入8位或16位(仅限NORM_L1)1通道、2通道、3通道或4通道图像。
        dst - 与src大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        searchWindowSize - 用于计算给定像素加权平均值的窗口大小(像素)。应为奇数。线性影响性能:searchWindowSize越大,去噪时间越长。推荐值21像素。
        h - 调节滤波器强度参数的数组,可以对所有通道应用一个参数,也可以对dst中的每个通道应用一个参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
        normType - 用于权重计算的范数类型。可以是NORM_L2或NORM_L1。此函数预期应用于灰度图像。对于彩色图像,请查看fastNlMeansDenoisingColored。此函数的高级用法可以对不同色彩空间的彩色图像进行手动去噪。fastNlMeansDenoisingColored通过将图像转换为CIELAB色彩空间,然后分别使用不同的h参数对L和AB分量进行去噪来实现这种方法。
      • fastNlMeansDenoising

        public static void fastNlMeansDenoising​(Mat src,
                                                Mat dst,
                                                MatOfFloat h,
                                                int templateWindowSize,
                                                int searchWindowSize)
        使用非局部均值去噪算法 进行图像去噪,并进行一些计算优化。预期噪声为高斯白噪声。
        参数
        src - 输入8位或16位(仅限NORM_L1)1通道、2通道、3通道或4通道图像。
        dst - 与src大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        searchWindowSize - 用于计算给定像素加权平均值的窗口大小(像素)。应为奇数。线性影响性能:searchWindowSize越大,去噪时间越长。推荐值21像素。
        h - 调节滤波器强度参数的数组,可以对所有通道应用一个参数,也可以对dst中的每个通道应用一个参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoising

        public static void fastNlMeansDenoising​(Mat src,
                                                Mat dst,
                                                MatOfFloat h,
                                                int templateWindowSize)
        使用非局部均值去噪算法 进行图像去噪,并进行一些计算优化。预期噪声为高斯白噪声。
        参数
        src - 输入8位或16位(仅限NORM_L1)1通道、2通道、3通道或4通道图像。
        dst - 与src大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        h - 调节滤波器强度参数的数组,可以对所有通道应用一个参数,也可以对dst中的每个通道应用一个参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoising

        public static void fastNlMeansDenoising​(Mat src,
                                                Mat dst,
                                                MatOfFloat h)
        使用非局部均值去噪算法 进行图像去噪,并进行一些计算优化。预期噪声为高斯白噪声。
        参数
        src - 输入8位或16位(仅限NORM_L1)1通道、2通道、3通道或4通道图像。
        dst - 与src大小和类型相同的输出图像。
        h - 调节滤波器强度参数的数组,可以对所有通道应用一个参数,也可以对dst中的每个通道应用一个参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoisingColored

        public static void fastNlMeansDenoisingColored​(Mat src,
                                                       Mat dst,
                                                       float h,
                                                       float hColor,
                                                       int templateWindowSize,
                                                       int searchWindowSize)
        彩色图像的fastNlMeansDenoising函数修改版
        参数
        src - 输入8位3通道图像。
        dst - 与src大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        searchWindowSize - 用于计算给定像素加权平均值的窗口大小(像素)。应为奇数。线性影响性能:searchWindowSize越大,去噪时间越长。推荐值21像素。
        h - 调节亮度分量滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
        hColor - 与h相同,但用于颜色分量。对于大多数图像,值为10足以去除彩色噪声且不会失真颜色。该函数将图像转换为CIELAB色彩空间,然后使用fastNlMeansDenoising函数分别对L和AB分量进行去噪。
      • fastNlMeansDenoisingColored

        public static void fastNlMeansDenoisingColored​(Mat src,
                                                       Mat dst,
                                                       float h,
                                                       float hColor,
                                                       int templateWindowSize)
        彩色图像的fastNlMeansDenoising函数修改版
        参数
        src - 输入8位3通道图像。
        dst - 与src大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        h - 调节亮度分量滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
        hColor - 与h相同,但用于颜色分量。对于大多数图像,值为10足以去除彩色噪声且不会失真颜色。该函数将图像转换为CIELAB色彩空间,然后使用fastNlMeansDenoising函数分别对L和AB分量进行去噪。
      • fastNlMeansDenoisingColored

        public static void fastNlMeansDenoisingColored​(Mat src,
                                                       Mat dst,
                                                       float h,
                                                       float hColor)
        彩色图像的fastNlMeansDenoising函数修改版
        参数
        src - 输入8位3通道图像。
        dst - 与src大小和类型相同的输出图像。
        h - 调节亮度分量滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
        hColor - 与h相同,但用于颜色分量。对于大多数图像,值为10足以去除彩色噪声且不会失真颜色。该函数将图像转换为CIELAB色彩空间,然后使用fastNlMeansDenoising函数分别对L和AB分量进行去噪。
      • fastNlMeansDenoisingColored

        public static void fastNlMeansDenoisingColored​(Mat src,
                                                       Mat dst,
                                                       float h)
        彩色图像的fastNlMeansDenoising函数修改版
        参数
        src - 输入8位3通道图像。
        dst - 与src大小和类型相同的输出图像。
        h - 调节亮度分量滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。足以去除彩色噪声且不会失真颜色。该函数将图像转换为CIELAB色彩空间,然后使用fastNlMeansDenoising函数分别对L和AB分量进行去噪。
      • fastNlMeansDenoisingColored

        public static void fastNlMeansDenoisingColored​(Mat src,
                                                       Mat dst)
        彩色图像的fastNlMeansDenoising函数修改版
        参数
        src - 输入8位3通道图像。
        dst - 与src大小和类型相同的输出图像。
      • fastNlMeansDenoisingMulti

        public static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs,
                                                     Mat dst,
                                                     int imgToDenoiseIndex,
                                                     int temporalWindowSize,
                                                     float h,
                                                     int templateWindowSize,
                                                     int searchWindowSize)
        针对图像序列的fastNlMeansDenoising函数的修改版本,其中连续图像是在短时间内捕获的,例如视频。此函数版本适用于灰度图像或用于色彩空间的手动操作。更多详情请参见参考文献:Buades2005DenoisingIS (开放访问 [此处](https://static.aminer.org/pdf/PDF/000/317/196/spatio_temporal_wiener_filtering_of_image_sequences_using_a_parametric.pdf))。
        参数
        srcImgs - 输入8位1通道、2通道、3通道或4通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        searchWindowSize - 用于计算给定像素加权平均值的窗口大小(像素)。应为奇数。线性影响性能:searchWindowSize越大,去噪时间越长。推荐值21像素。
        h - 调节滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoisingMulti

        public static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs,
                                                     Mat dst,
                                                     int imgToDenoiseIndex,
                                                     int temporalWindowSize,
                                                     float h,
                                                     int templateWindowSize)
        针对图像序列的fastNlMeansDenoising函数的修改版本,其中连续图像是在短时间内捕获的,例如视频。此函数版本适用于灰度图像或用于色彩空间的手动操作。更多详情请参见参考文献:Buades2005DenoisingIS (开放访问 [此处](https://static.aminer.org/pdf/PDF/000/317/196/spatio_temporal_wiener_filtering_of_image_sequences_using_a_parametric.pdf))。
        参数
        srcImgs - 输入8位1通道、2通道、3通道或4通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        h - 调节滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoisingMulti

        public static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs,
                                                     Mat dst,
                                                     int imgToDenoiseIndex,
                                                     int temporalWindowSize,
                                                     float h)
        针对图像序列的fastNlMeansDenoising函数的修改版本,其中连续图像是在短时间内捕获的,例如视频。此函数版本适用于灰度图像或用于色彩空间的手动操作。更多详情请参见参考文献:Buades2005DenoisingIS (开放访问 [此处](https://static.aminer.org/pdf/PDF/000/317/196/spatio_temporal_wiener_filtering_of_image_sequences_using_a_parametric.pdf))。
        参数
        srcImgs - 输入8位1通道、2通道、3通道或4通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        h - 调节滤波器强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoisingMulti

        public static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs,
                                                     Mat dst,
                                                     int imgToDenoiseIndex,
                                                     int temporalWindowSize)
        针对图像序列的fastNlMeansDenoising函数的修改版本,其中连续图像是在短时间内捕获的,例如视频。此函数版本适用于灰度图像或用于色彩空间的手动操作。更多详情请参见参考文献:Buades2005DenoisingIS (开放访问 [此处](https://static.aminer.org/pdf/PDF/000/317/196/spatio_temporal_wiener_filtering_of_image_sequences_using_a_parametric.pdf))。
        参数
        srcImgs - 输入8位1通道、2通道、3通道或4通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoisingMulti

        public static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs,
                                                     Mat dst,
                                                     int imgToDenoiseIndex,
                                                     int temporalWindowSize,
                                                     MatOfFloat h,
                                                     int templateWindowSize,
                                                     int searchWindowSize,
                                                     int normType)
        针对图像序列的fastNlMeansDenoising函数的修改版本,其中连续图像是在短时间内捕获的,例如视频。此函数版本适用于灰度图像或用于色彩空间的手动操作。更多详情请参见参考文献:Buades2005DenoisingIS (开放访问 [此处](https://static.aminer.org/pdf/PDF/000/317/196/spatio_temporal_wiener_filtering_of_image_sequences_using_a_parametric.pdf))。
        参数
        srcImgs - 输入的8位或16位(仅限于NORM_L1)单通道、双通道、三通道或四通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        searchWindowSize - 用于计算给定像素加权平均值的窗口大小(像素)。应为奇数。线性影响性能:searchWindowSize越大,去噪时间越长。推荐值21像素。
        h - 调节滤波器强度参数的数组,可以对所有通道应用一个参数,也可以对dst中的每个通道应用一个参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
        normType - 用于权重计算的范数类型。可以是NORM_L2或NORM_L1。
      • fastNlMeansDenoisingMulti

        public static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs,
                                                     Mat dst,
                                                     int imgToDenoiseIndex,
                                                     int temporalWindowSize,
                                                     MatOfFloat h,
                                                     int templateWindowSize,
                                                     int searchWindowSize)
        针对图像序列的fastNlMeansDenoising函数的修改版本,其中连续图像是在短时间内捕获的,例如视频。此函数版本适用于灰度图像或用于色彩空间的手动操作。更多详情请参见参考文献:Buades2005DenoisingIS (开放访问 [此处](https://static.aminer.org/pdf/PDF/000/317/196/spatio_temporal_wiener_filtering_of_image_sequences_using_a_parametric.pdf))。
        参数
        srcImgs - 输入的8位或16位(仅限于NORM_L1)单通道、双通道、三通道或四通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        searchWindowSize - 用于计算给定像素加权平均值的窗口大小(像素)。应为奇数。线性影响性能:searchWindowSize越大,去噪时间越长。推荐值21像素。
        h - 调节滤波器强度参数的数组,可以对所有通道应用一个参数,也可以对dst中的每个通道应用一个参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoisingMulti

        public static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs,
                                                     Mat dst,
                                                     int imgToDenoiseIndex,
                                                     int temporalWindowSize,
                                                     MatOfFloat h,
                                                     int templateWindowSize)
        针对图像序列的fastNlMeansDenoising函数的修改版本,其中连续图像是在短时间内捕获的,例如视频。此函数版本适用于灰度图像或用于色彩空间的手动操作。更多详情请参见参考文献:Buades2005DenoisingIS (开放访问 [此处](https://static.aminer.org/pdf/PDF/000/317/196/spatio_temporal_wiener_filtering_of_image_sequences_using_a_parametric.pdf))。
        参数
        srcImgs - 输入的8位或16位(仅限于NORM_L1)单通道、双通道、三通道或四通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        h - 调节滤波器强度参数的数组,可以对所有通道应用一个参数,也可以对dst中的每个通道应用一个参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoisingMulti

        public static void fastNlMeansDenoisingMulti​(java.util.List<Mat> srcImgs,
                                                     Mat dst,
                                                     int imgToDenoiseIndex,
                                                     int temporalWindowSize,
                                                     MatOfFloat h)
        针对图像序列的fastNlMeansDenoising函数的修改版本,其中连续图像是在短时间内捕获的,例如视频。此函数版本适用于灰度图像或用于色彩空间的手动操作。更多详情请参见参考文献:Buades2005DenoisingIS (开放访问 [此处](https://static.aminer.org/pdf/PDF/000/317/196/spatio_temporal_wiener_filtering_of_image_sequences_using_a_parametric.pdf))。
        参数
        srcImgs - 输入的8位或16位(仅限于NORM_L1)单通道、双通道、三通道或四通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        h - 调节滤波器强度参数的数组,可以对所有通道应用一个参数,也可以对dst中的每个通道应用一个参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
      • fastNlMeansDenoisingColoredMulti

        public static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs,
                                                            Mat dst,
                                                            int imgToDenoiseIndex,
                                                            int temporalWindowSize,
                                                            float h,
                                                            float hColor,
                                                            int templateWindowSize,
                                                            int searchWindowSize)
        彩色图像序列的fastNlMeansDenoisingMulti函数修改版
        参数
        srcImgs - 输入的8位三通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        searchWindowSize - 用于计算给定像素加权平均值的窗口大小(像素)。应为奇数。线性影响性能:searchWindowSize越大,去噪时间越长。推荐值21像素。
        h - 用于调节亮度分量滤波强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
        hColor - 与h相同,但用于颜色分量。该函数将图像转换为CIELAB颜色空间,然后使用fastNlMeansDenoisingMulti函数分别对L和AB分量进行去噪,使用给定的h参数。
      • fastNlMeansDenoisingColoredMulti

        public static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs,
                                                            Mat dst,
                                                            int imgToDenoiseIndex,
                                                            int temporalWindowSize,
                                                            float h,
                                                            float hColor,
                                                            int templateWindowSize)
        彩色图像序列的fastNlMeansDenoisingMulti函数修改版
        参数
        srcImgs - 输入的8位三通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        templateWindowSize - 用于计算权重的模板块大小(像素)。应为奇数。推荐值7像素。
        h - 用于调节亮度分量滤波强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
        hColor - 与h相同,但用于颜色分量。该函数将图像转换为CIELAB颜色空间,然后使用fastNlMeansDenoisingMulti函数分别对L和AB分量进行去噪,使用给定的h参数。
      • fastNlMeansDenoisingColoredMulti

        public static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs,
                                                            Mat dst,
                                                            int imgToDenoiseIndex,
                                                            int temporalWindowSize,
                                                            float h,
                                                            float hColor)
        彩色图像序列的fastNlMeansDenoisingMulti函数修改版
        参数
        srcImgs - 输入的8位三通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        h - 用于调节亮度分量滤波强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。
        hColor - 与h相同,但用于颜色分量。该函数将图像转换为CIELAB颜色空间,然后使用fastNlMeansDenoisingMulti函数分别对L和AB分量进行去噪,使用给定的h参数。
      • fastNlMeansDenoisingColoredMulti

        public static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs,
                                                            Mat dst,
                                                            int imgToDenoiseIndex,
                                                            int temporalWindowSize,
                                                            float h)
        彩色图像序列的fastNlMeansDenoisingMulti函数修改版
        参数
        srcImgs - 输入的8位三通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。
        h - 用于调节亮度分量滤波强度的参数。较大的h值可以完美去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。该函数将图像转换为CIELAB颜色空间,然后使用fastNlMeansDenoisingMulti函数分别对L和AB分量进行去噪,使用给定的h参数。
      • fastNlMeansDenoisingColoredMulti

        public static void fastNlMeansDenoisingColoredMulti​(java.util.List<Mat> srcImgs,
                                                            Mat dst,
                                                            int imgToDenoiseIndex,
                                                            int temporalWindowSize)
        彩色图像序列的fastNlMeansDenoisingMulti函数修改版
        参数
        srcImgs - 输入的8位三通道图像序列。所有图像应具有相同的类型和大小。
        imgToDenoiseIndex - 目标图像在srcImgs序列中的索引。
        temporalWindowSize - 用于目标图像去噪的周围图像数量。应为奇数。将使用srcImgs中从imgToDenoiseIndex - temporalWindowSize / 2到imgToDenoiseIndex + temporalWindowSize / 2的图像来对srcImgs[imgToDenoiseIndex]图像进行去噪。
        dst - 与srcImgs图像大小和类型相同的输出图像。应为奇数。建议值7像素,给定像素。应为奇数。线性影响性能:searchWindowsSize越大,去噪时间越长。建议值为21像素,可以去除噪声,但也去除图像细节;较小的h值保留细节,但也保留一些噪声。该函数将图像转换为CIELAB颜色空间,然后使用fastNlMeansDenoisingMulti函数分别对L和AB分量进行去噪,使用给定的h参数。
      • denoise_TVL1

        public static void denoise_TVL1​(java.util.List<Mat> observations,
                                        Mat result,
                                        double lambda,
                                        int niters)
        原始对偶算法是一种用于解决特殊类型的变分问题的算法(即,找到一个函数来最小化某个泛函)。图像去噪,特别是,可以看作是一个变分问题,那么原始对偶算法就可以用来进行去噪,这正是实现的功能。需要注意的是,这个实现取自2013年7月的博客文章 CITE: MA13 ,其中也包含了(稍微更通用)的Python可直接使用的源代码。随后,这段代码在2013年7月底由Vadim Pisarevsky使用OpenCV改写为C++,最后由后来的作者稍作修改。虽然对所涉及算法的彻底讨论和论证可以在CITE: ChambolleEtAl中找到,但按照CITE: MA13浏览一下可能更有意义。首先,我们将1字节灰度图像视为来自矩形像素域的函数(它可以看作集合\(\left\{(x,y)\in\mathbb{N}\times\mathbb{N}\mid 1\leq x\leq n,\;1\leq y\leq m\right\}\) 对于某些\(m,\;n\in\mathbb{N}\))到\(\{0,1,\dots,255\}\)的映射。我们将噪声图像表示为\(f_i\),以此观点,给定相同大小的某个图像\(x\),我们可以通过公式\(\left\|\left\|\nabla x\right\|\right\| + \lambda\sum_i\left\|\left\|x-f_i\right\|\right\|\) 来衡量它的质量。这里的\(\|\|\cdot\|\|\)表示\(L_2\)范数,如你所见,第一项表明我们希望我们的图像光滑(理想情况下,梯度为零,因此为常数),第二项表明我们希望我们的结果接近我们得到的观测值。如果我们将\(x\)视为一个函数,这正是我们寻求最小化的泛函,而原始对偶算法在这里发挥作用。
        参数
        observations - 此数组应包含要恢复图像的一个或多个噪声版本。
        result - 去噪后的图像将存储在此处。无需预先分配存储空间,因为如有必要,它将自动分配。
        lambda - 对应于上述公式中的\(\lambda\)。随着它的增大,光滑(模糊)图像比细节丰富(但可能噪声更多)的图像更受青睐。粗略地说,随着它的减小,结果会更模糊,但更严重的异常值将被去除。
        niters - 算法将运行的迭代次数。当然,迭代次数越多越好,但这很难定量地完善,所以只需使用默认值,如果结果不好再增加它。
      • denoise_TVL1

        public static void denoise_TVL1​(java.util.List<Mat> observations,
                                        Mat result,
                                        double lambda)
        原始对偶算法是一种用于解决特殊类型的变分问题的算法(即,找到一个函数来最小化某个泛函)。图像去噪,特别是,可以看作是一个变分问题,那么原始对偶算法就可以用来进行去噪,这正是实现的功能。需要注意的是,这个实现取自2013年7月的博客文章 CITE: MA13 ,其中也包含了(稍微更通用)的Python可直接使用的源代码。随后,这段代码在2013年7月底由Vadim Pisarevsky使用OpenCV改写为C++,最后由后来的作者稍作修改。虽然对所涉及算法的彻底讨论和论证可以在CITE: ChambolleEtAl中找到,但按照CITE: MA13浏览一下可能更有意义。首先,我们将1字节灰度图像视为来自矩形像素域的函数(它可以看作集合\(\left\{(x,y)\in\mathbb{N}\times\mathbb{N}\mid 1\leq x\leq n,\;1\leq y\leq m\right\}\) 对于某些\(m,\;n\in\mathbb{N}\))到\(\{0,1,\dots,255\}\)的映射。我们将噪声图像表示为\(f_i\),以此观点,给定相同大小的某个图像\(x\),我们可以通过公式\(\left\|\left\|\nabla x\right\|\right\| + \lambda\sum_i\left\|\left\|x-f_i\right\|\right\|\) 来衡量它的质量。这里的\(\|\|\cdot\|\|\)表示\(L_2\)范数,如你所见,第一项表明我们希望我们的图像光滑(理想情况下,梯度为零,因此为常数),第二项表明我们希望我们的结果接近我们得到的观测值。如果我们将\(x\)视为一个函数,这正是我们寻求最小化的泛函,而原始对偶算法在这里发挥作用。
        参数
        observations - 此数组应包含要恢复图像的一个或多个噪声版本。
        result - 去噪后的图像将存储在此处。无需预先分配存储空间,因为如有必要,它将自动分配。
        lambda - 对应于上述公式中的\(\lambda\)。随着它的增大,光滑(模糊)图像比细节丰富(但可能噪声更多)的图像更受青睐。粗略地说,随着它的减小,结果会更模糊,但更严重的异常值将被去除。更好,但这很难定量地完善,所以只需使用默认值,如果结果不好再增加它。
      • denoise_TVL1

        public static void denoise_TVL1​(java.util.List<Mat> observations,
                                        Mat result)
        原始对偶算法是一种用于解决特殊类型的变分问题的算法(即,找到一个函数来最小化某个泛函)。图像去噪,特别是,可以看作是一个变分问题,那么原始对偶算法就可以用来进行去噪,这正是实现的功能。需要注意的是,这个实现取自2013年7月的博客文章 CITE: MA13 ,其中也包含了(稍微更通用)的Python可直接使用的源代码。随后,这段代码在2013年7月底由Vadim Pisarevsky使用OpenCV改写为C++,最后由后来的作者稍作修改。虽然对所涉及算法的彻底讨论和论证可以在CITE: ChambolleEtAl中找到,但按照CITE: MA13浏览一下可能更有意义。首先,我们将1字节灰度图像视为来自矩形像素域的函数(它可以看作集合\(\left\{(x,y)\in\mathbb{N}\times\mathbb{N}\mid 1\leq x\leq n,\;1\leq y\leq m\right\}\) 对于某些\(m,\;n\in\mathbb{N}\))到\(\{0,1,\dots,255\}\)的映射。我们将噪声图像表示为\(f_i\),以此观点,给定相同大小的某个图像\(x\),我们可以通过公式\(\left\|\left\|\nabla x\right\|\right\| + \lambda\sum_i\left\|\left\|x-f_i\right\|\right\|\) 来衡量它的质量。这里的\(\|\|\cdot\|\|\)表示\(L_2\)范数,如你所见,第一项表明我们希望我们的图像光滑(理想情况下,梯度为零,因此为常数),第二项表明我们希望我们的结果接近我们得到的观测值。如果我们将\(x\)视为一个函数,这正是我们寻求最小化的泛函,而原始对偶算法在这里发挥作用。
        参数
        observations - 此数组应包含要恢复图像的一个或多个噪声版本。
        result - 去噪后的图像将存储在此处。无需预先分配存储空间,因为如有必要,它将自动分配。(模糊)图像比细节丰富(但可能噪声更多)的图像更受青睐。粗略地说,随着它的减小,结果会更模糊,但更严重的异常值将被去除。更好,但这很难定量地完善,所以只需使用默认值,如果结果不好再增加它。
      • createTonemap

        public static Tonemap createTonemap​(float gamma)
        创建具有伽马校正的简单线性映射器
        参数
        gamma - gamma校正的正值。gamma值为1.0表示不进行校正,gamma等于2.2f适用于大多数显示器。通常gamma > 1会使图像变亮,gamma < 1会使图像变暗。
        返回值
        自动生成
      • createTonemap

        public static Tonemap createTonemap()
        创建具有gamma校正的简单线性映射器,gamma等于2.2f适用于大多数显示器。通常gamma > 1会使图像变亮,gamma < 1会使图像变暗。
        返回值
        自动生成
      • createTonemapDrago

        public static TonemapDrago createTonemapDrago​(float gamma,
                                                      float saturation,
                                                      float bias)
        创建 TonemapDrago 对象
        参数
        gamma - gamma校正的gamma值。参见createTonemap
        saturation - 正的饱和度增强值。1.0保持饱和度,大于1的值增加饱和度,小于1的值减少饱和度。
        bias - [0, 1]范围内的偏差函数值。0.7到0.9的值通常给出最佳结果,默认值为0.85。
        返回值
        自动生成
      • createTonemapDrago

        public static TonemapDrago createTonemapDrago​(float gamma,
                                                      float saturation)
        创建 TonemapDrago 对象
        参数
        gamma - gamma校正的gamma值。参见createTonemap
        saturation - 正的饱和度增强值。1.0保持饱和度,大于1的值增加饱和度,小于1的值减少饱和度。结果,默认值为0.85。
        返回值
        自动生成
      • createTonemapDrago

        public static TonemapDrago createTonemapDrago​(float gamma)
        创建 TonemapDrago 对象
        参数
        gamma - gamma校正的gamma值。参见createTonemap 大于1的值增加饱和度,小于1的值减少饱和度。结果,默认值为0.85。
        返回值
        自动生成
      • createTonemapDrago

        public static TonemapDrago createTonemapDrago()
        创建TonemapDrago对象 大于1的值增加饱和度,小于1的值减少饱和度。结果,默认值为0.85。
        返回值
        自动生成
      • createTonemapReinhard

        public static TonemapReinhard createTonemapReinhard​(float gamma,
                                                            float intensity,
                                                            float light_adapt,
                                                            float color_adapt)
        创建 TonemapReinhard 对象
        参数
        gamma - gamma校正的gamma值。参见createTonemap
        intensity - [-8, 8]范围内的结果强度。强度越大,结果越亮。
        light_adapt - [0, 1]范围内的光适应。如果为1,则适应仅基于像素值;如果为0,则为全局;否则,它是这两种情况的加权平均值。
        color_adapt - [0, 1]范围内的色适应。如果为1,则通道独立处理;如果为0,则每个通道的适应级别相同。
        返回值
        自动生成
      • createTonemapReinhard

        public static TonemapReinhard createTonemapReinhard​(float gamma,
                                                            float intensity,
                                                            float light_adapt)
        创建 TonemapReinhard 对象
        参数
        gamma - gamma校正的gamma值。参见createTonemap
        intensity - [-8, 8]范围内的结果强度。强度越大,结果越亮。
        light_adapt - [0, 1]范围内的光适应。如果为1,则适应仅基于像素值;如果为0,则为全局;否则,它是这两种情况的加权平均值。如果为0,则每个通道的适应级别相同。
        返回值
        自动生成
      • createTonemapReinhard

        public static TonemapReinhard createTonemapReinhard​(float gamma,
                                                            float intensity)
        创建 TonemapReinhard 对象
        参数
        gamma - gamma校正的gamma值。参见createTonemap
        intensity - 结果强度,范围为 [-8, 8]。强度越大,结果越亮。值为 0 时为全局强度,否则为两种情况的加权平均值。如果为 0,则每个通道的自适应级别相同。
        返回值
        自动生成
      • createTonemapReinhard

        public static TonemapReinhard createTonemapReinhard​(float gamma)
        创建 TonemapReinhard 对象
        参数
        gamma - gamma 校正的 gamma 值。参见 createTonemap。值为 0 时为全局值,否则为两种情况的加权平均值。如果为 0,则每个通道的自适应级别相同。
        返回值
        自动生成
      • createTonemapReinhard

        public static TonemapReinhard createTonemapReinhard()
        创建 TonemapReinhard 对象。值为 0 时为全局值,否则为两种情况的加权平均值。如果为 0,则每个通道的自适应级别相同。
        返回值
        自动生成
      • createTonemapMantiuk

        public static TonemapMantiuk createTonemapMantiuk​(float gamma,
                                                          float scale,
                                                          float saturation)
        创建 TonemapMantiuk 对象
        参数
        gamma - gamma校正的gamma值。参见createTonemap
        scale - 对比度缩放因子。HVS 响应乘以此参数,从而压缩动态范围。0.6 到 0.9 的值能产生最佳结果。
        saturation - 饱和度增强值。参见 createTonemapDrago。
        返回值
        自动生成
      • createTonemapMantiuk

        public static TonemapMantiuk createTonemapMantiuk​(float gamma,
                                                          float scale)
        创建 TonemapMantiuk 对象
        参数
        gamma - gamma校正的gamma值。参见createTonemap
        scale - 对比度缩放因子。HVS 响应乘以此参数,从而压缩动态范围。0.6 到 0.9 的值能产生最佳结果。
        返回值
        自动生成
      • createTonemapMantiuk

        public static TonemapMantiuk createTonemapMantiuk​(float gamma)
        创建 TonemapMantiuk 对象
        参数
        gamma - gamma 校正的 gamma 值。参见 createTonemap。动态范围。0.6 到 0.9 的值能产生最佳结果。
        返回值
        自动生成
      • createTonemapMantiuk

        public static TonemapMantiuk createTonemapMantiuk()
        创建 TonemapMantiuk 对象。动态范围。0.6 到 0.9 的值能产生最佳结果。
        返回值
        自动生成
      • createAlignMTB

        public static AlignMTB createAlignMTB​(int max_bits,
                                              int exclude_range,
                                              boolean cut)
        创建 AlignMTB 对象
        参数
        max_bits - 每个维度最大位移的以 2 为底的对数。5 和 6 通常足够好(分别为 31 和 63 像素位移)。
        exclude_range - 用于构建排除位图的范围,该位图用于抑制中值周围的噪声。
        cut - 如果为真,则裁剪图像;否则,用零填充新区域。
        返回值
        自动生成
      • createAlignMTB

        public static AlignMTB createAlignMTB​(int max_bits,
                                              int exclude_range)
        创建 AlignMTB 对象
        参数
        max_bits - 每个维度最大位移的以 2 为底的对数。5 和 6 通常足够好(分别为 31 和 63 像素位移)。
        exclude_range - 用于构建排除位图的范围,该位图用于抑制中值周围的噪声。
        返回值
        自动生成
      • createAlignMTB

        public static AlignMTB createAlignMTB​(int max_bits)
        创建 AlignMTB 对象
        参数
        max_bits - 每个维度最大位移的以 2 为底的对数。5 和 6 通常足够好(分别为 31 和 63 像素位移)。中值。
        返回值
        自动生成
      • createAlignMTB

        public static AlignMTB createAlignMTB()
        创建 AlignMTB 对象。通常足够好(分别为 31 和 63 像素位移)。中值。
        返回值
        自动生成
      • createCalibrateDebevec

        public static CalibrateDebevec createCalibrateDebevec​(int samples,
                                                              float lambda,
                                                              boolean random)
        创建 CalibrateDebevec 对象
        参数
        samples - 要使用的像素位置数量。
        lambda - 平滑项权重。较大的值会产生更平滑的结果,但可能会改变响应。
        random - 如果为真,则随机选择像素位置样本;否则,它们形成一个矩形网格。
        返回值
        自动生成
      • createCalibrateDebevec

        public static CalibrateDebevec createCalibrateDebevec​(int samples,
                                                              float lambda)
        创建 CalibrateDebevec 对象
        参数
        samples - 要使用的像素位置数量。
        lambda - 平滑项权重。较大的值会产生更平滑的结果,但可能会改变响应。矩形网格。
        返回值
        自动生成
      • createCalibrateDebevec

        public static CalibrateDebevec createCalibrateDebevec​(int samples)
        创建 CalibrateDebevec 对象
        参数
        samples - 要使用的像素位置数量。响应。矩形网格。
        返回值
        自动生成
      • createCalibrateDebevec

        public static CalibrateDebevec createCalibrateDebevec()
        创建 CalibrateDebevec 对象。响应。矩形网格。
        返回值
        自动生成
      • createCalibrateRobertson

        public static CalibrateRobertson createCalibrateRobertson​(int max_iter,
                                                                  float threshold)
        创建 CalibrateRobertson 对象
        参数
        max_iter - 高斯-赛德尔求解器的最大迭代次数。
        threshold - 最小化过程的两个连续步骤之间结果的目标差异。
        返回值
        自动生成
      • createCalibrateRobertson

        public static CalibrateRobertson createCalibrateRobertson​(int max_iter)
        创建 CalibrateRobertson 对象
        参数
        max_iter - 高斯-赛德尔求解器的最大迭代次数。
        返回值
        自动生成
      • createCalibrateRobertson

        public static CalibrateRobertson createCalibrateRobertson()
        创建 CalibrateRobertson 对象
        返回值
        自动生成
      • createMergeDebevec

        public static MergeDebevec createMergeDebevec()
        创建 MergeDebevec 对象
        返回值
        自动生成
      • createMergeMertens

        public static MergeMertens createMergeMertens​(float contrast_weight,
                                                      float saturation_weight,
                                                      float exposure_weight)
        创建 MergeMertens 对象
        参数
        contrast_weight - 对比度测量权重。参见 MergeMertens。
        saturation_weight - 饱和度测量权重。
        exposure_weight - 曝光良好度测量权重。
        返回值
        自动生成
      • createMergeMertens

        public static MergeMertens createMergeMertens​(float contrast_weight,
                                                      float saturation_weight)
        创建 MergeMertens 对象
        参数
        contrast_weight - 对比度测量权重。参见 MergeMertens。
        saturation_weight - 饱和度测量权重。
        返回值
        自动生成
      • createMergeMertens

        public static MergeMertens createMergeMertens​(float contrast_weight)
        创建 MergeMertens 对象
        参数
        contrast_weight - 对比度测量权重。参见 MergeMertens。
        返回值
        自动生成
      • createMergeMertens

        public static MergeMertens createMergeMertens()
        创建 MergeMertens 对象
        返回值
        自动生成
      • createMergeRobertson

        public static MergeRobertson createMergeRobertson()
        创建 MergeRobertson 对象
        返回值
        自动生成
      • decolor

        public static void decolor​(Mat src,
                                   Mat grayscale,
                                   Mat color_boost)
        将彩色图像转换为灰度图像。它是数字印刷、风格化黑白照片渲染和许多单通道图像处理应用程序中的基本工具 CITE: CL12。
        参数
        src - 输入8位3通道图像。
        grayscale - 输出 8 位 1 通道图像。
        color_boost - 输出 8 位 3 通道图像。此函数应用于彩色图像。
      • seamlessClone

        public static void seamlessClone​(Mat src,
                                         Mat dst,
                                         Mat mask,
                                         Point p,
                                         Mat blend,
                                         int flags)
        执行无缝克隆,将源图像中的区域混合到目标图像中。此函数设计用于局部图像编辑,允许轻松无缝地应用仅限于区域(手动选择为 ROI)的更改。这些更改的范围可以从小幅变形到被新内容完全替换 CITE: PM03。
        参数
        src - 源图像(8 位 3 通道),从中将一个区域混合到目标图像中。
        dst - 目标图像(8 位 3 通道),将在其中混合 src 图像。
        mask - 指定要混合的源图像区域的二值掩码(8 位,1、3 或 4 通道)。非零像素表示要混合的区域。如果提供空 Mat,则内部会创建一个所有像素均为非零的掩码。
        p - src 图像中心在 dst 图像中放置的点。
        blend - 存储无缝克隆结果的输出图像。它与dst具有相同的尺寸和类型。
        flags - 控制克隆方法类型的标志,可以取cv::SeamlessCloneFlags的值。
      • colorChange

        public static void colorChange​(Mat src,
                                       Mat mask,
                                       Mat dst,
                                       float red_mul,
                                       float green_mul,
                                       float blue_mul)
        给定一个原始彩色图像,可以无缝地混合该图像的两个不同颜色的版本。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与src大小和类型相同的输出图像。
        red_mul - R 通道乘法因子。
        green_mul - G 通道乘法因子。
        blue_mul - B 通道乘法因子。乘法因子在 0.5 到 2.5 之间。
      • colorChange

        public static void colorChange​(Mat src,
                                       Mat mask,
                                       Mat dst,
                                       float red_mul,
                                       float green_mul)
        给定一个原始彩色图像,可以无缝地混合该图像的两个不同颜色的版本。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与src大小和类型相同的输出图像。
        red_mul - R 通道乘法因子。
        green_mul - G 通道乘法因子。乘法因子在 0.5 到 2.5 之间。
      • colorChange

        public static void colorChange​(Mat src,
                                       Mat mask,
                                       Mat dst,
                                       float red_mul)
        给定一个原始彩色图像,可以无缝地混合该图像的两个不同颜色的版本。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与src大小和类型相同的输出图像。
        red_mul - R 通道乘法因子。乘法因子在 0.5 到 2.5 之间。
      • colorChange

        public static void colorChange​(Mat src,
                                       Mat mask,
                                       Mat dst)
        给定一个原始彩色图像,可以无缝地混合该图像的两个不同颜色的版本。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。乘法因子在 0.5 到 2.5 之间。
      • illuminationChange

        public static void illuminationChange​(Mat src,
                                              Mat mask,
                                              Mat dst,
                                              float alpha,
                                              float beta)
        通过对选择区域内的梯度场应用适当的非线性变换,然后使用泊松求解器进行反向积分,可以局部修改图像的表观照明。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        alpha - 值范围为 0-2。
        beta - 值范围为 0-2。这有助于突出曝光不足的前景对象或减少镜面反射。
      • illuminationChange

        public static void illuminationChange​(Mat src,
                                              Mat mask,
                                              Mat dst,
                                              float alpha)
        通过对选择区域内的梯度场应用适当的非线性变换,然后使用泊松求解器进行反向积分,可以局部修改图像的表观照明。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        alpha - 值范围为 0-2。这有助于突出曝光不足的前景对象或减少镜面反射。
      • illuminationChange

        public static void illuminationChange​(Mat src,
                                              Mat mask,
                                              Mat dst)
        通过对选择区域内的梯度场应用适当的非线性变换,然后使用泊松求解器进行反向积分,可以局部修改图像的表观照明。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。这有助于突出曝光不足的前景对象或减少镜面反射。
      • textureFlattening

        public static void textureFlattening​(Mat src,
                                             Mat mask,
                                             Mat dst,
                                             float low_threshold,
                                             float high_threshold,
                                             int kernel_size)
        通过仅保留边缘位置的梯度,然后与泊松求解器集成,可以去除所选区域的纹理,使其内容呈现平坦的外观。这里使用 Canny 边缘检测器。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        low_threshold - 百分比范围为 0 到 100。
        high_threshold - 值 > 100。
        kernel_size - 要使用的 Sobel 核的大小。注意:该算法假设源图像的颜色接近目标图像的颜色。这意味着当颜色不匹配时,源图像颜色会偏向目标图像的颜色。
      • textureFlattening

        public static void textureFlattening​(Mat src,
                                             Mat mask,
                                             Mat dst,
                                             float low_threshold,
                                             float high_threshold)
        通过仅保留边缘位置的梯度,然后与泊松求解器集成,可以去除所选区域的纹理,使其内容呈现平坦的外观。这里使用 Canny 边缘检测器。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        low_threshold - 百分比范围为 0 到 100。
        high_threshold - 值 > 100。注意:该算法假设源图像的颜色接近目标图像的颜色。这意味着当颜色不匹配时,源图像颜色会偏向目标图像的颜色。
      • textureFlattening

        public static void textureFlattening​(Mat src,
                                             Mat mask,
                                             Mat dst,
                                             float low_threshold)
        通过仅保留边缘位置的梯度,然后与泊松求解器集成,可以去除所选区域的纹理,使其内容呈现平坦的外观。这里使用 Canny 边缘检测器。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        low_threshold - 百分比范围为 0 到 100。注意:该算法假设源图像的颜色接近目标图像的颜色。这意味着当颜色不匹配时,源图像颜色会偏向目标图像的颜色。
      • textureFlattening

        public static void textureFlattening​(Mat src,
                                             Mat mask,
                                             Mat dst)
        通过仅保留边缘位置的梯度,然后与泊松求解器集成,可以去除所选区域的纹理,使其内容呈现平坦的外观。这里使用 Canny 边缘检测器。
        参数
        src - 输入8位3通道图像。
        mask - 输入 8 位 1 或 3 通道图像。
        dst - 输出图像,大小和类型与 src 相同。注意:该算法假设源图像的颜色与目标图像的颜色接近。此假设意味着,当颜色不匹配时,源图像颜色会偏向于目标图像的颜色。
      • 边缘保持滤波器

        public static void edgePreservingFilter​(Mat src,
                                                Mat dst,
                                                int flags,
                                                float sigma_s,
                                                float sigma_r)
        滤波是图像和视频处理中的基本操作。边缘保持平滑滤波器应用于许多不同的应用 CITE: EM11 。
        参数
        src - 输入8位3通道图像。
        dst - 输出 8 位 3 通道图像。
        flags - 边缘保持滤波器:cv::RECURS_FILTER 或 cv::NORMCONV_FILTER
        sigma_s - 范围在 0 到 200 之间。
        sigma_r - 范围在 0 到 1 之间。
      • 边缘保持滤波器

        public static void edgePreservingFilter​(Mat src,
                                                Mat dst,
                                                int flags,
                                                float sigma_s)
        滤波是图像和视频处理中的基本操作。边缘保持平滑滤波器应用于许多不同的应用 CITE: EM11 。
        参数
        src - 输入8位3通道图像。
        dst - 输出 8 位 3 通道图像。
        flags - 边缘保持滤波器:cv::RECURS_FILTER 或 cv::NORMCONV_FILTER
        sigma_s - 范围在 0 到 200 之间。
      • 边缘保持滤波器

        public static void edgePreservingFilter​(Mat src,
                                                Mat dst,
                                                int flags)
        滤波是图像和视频处理中的基本操作。边缘保持平滑滤波器应用于许多不同的应用 CITE: EM11 。
        参数
        src - 输入8位3通道图像。
        dst - 输出 8 位 3 通道图像。
        flags - 边缘保持滤波器:cv::RECURS_FILTER 或 cv::NORMCONV_FILTER
      • 边缘保持滤波器

        public static void edgePreservingFilter​(Mat src,
                                                Mat dst)
        滤波是图像和视频处理中的基本操作。边缘保持平滑滤波器应用于许多不同的应用 CITE: EM11 。
        参数
        src - 输入8位3通道图像。
        dst - 输出 8 位 3 通道图像。
      • 细节增强

        public static void detailEnhance​(Mat src,
                                         Mat dst,
                                         float sigma_s,
                                         float sigma_r)
        此滤镜增强特定图像的细节。
        参数
        src - 输入8位3通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        sigma_s - 范围在 0 到 200 之间。
        sigma_r - 范围在 0 到 1 之间。
      • 细节增强

        public static void detailEnhance​(Mat src,
                                         Mat dst,
                                         float sigma_s)
        此滤镜增强特定图像的细节。
        参数
        src - 输入8位3通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        sigma_s - 范围在 0 到 200 之间。
      • 细节增强

        public static void detailEnhance​(Mat src,
                                         Mat dst)
        此滤镜增强特定图像的细节。
        参数
        src - 输入8位3通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
      • 铅笔素描

        public static void pencilSketch​(Mat src,
                                        Mat dst1,
                                        Mat dst2,
                                        float sigma_s,
                                        float sigma_r,
                                        float shade_factor)
        铅笔素描风格的非真实感线条绘制
        参数
        src - 输入8位3通道图像。
        dst1 - 输出 8 位 1 通道图像。
        dst2 - 输出图像,大小和类型与 src 相同。
        sigma_s - 范围在 0 到 200 之间。
        sigma_r - 范围在 0 到 1 之间。
        shade_factor - 范围在 0 到 0.1 之间。
      • 铅笔素描

        public static void pencilSketch​(Mat src,
                                        Mat dst1,
                                        Mat dst2,
                                        float sigma_s,
                                        float sigma_r)
        铅笔素描风格的非真实感线条绘制
        参数
        src - 输入8位3通道图像。
        dst1 - 输出 8 位 1 通道图像。
        dst2 - 输出图像,大小和类型与 src 相同。
        sigma_s - 范围在 0 到 200 之间。
        sigma_r - 范围在 0 到 1 之间。
      • 铅笔素描

        public static void pencilSketch​(Mat src,
                                        Mat dst1,
                                        Mat dst2,
                                        float sigma_s)
        铅笔素描风格的非真实感线条绘制
        参数
        src - 输入8位3通道图像。
        dst1 - 输出 8 位 1 通道图像。
        dst2 - 输出图像,大小和类型与 src 相同。
        sigma_s - 范围在 0 到 200 之间。
      • 铅笔素描

        public static void pencilSketch​(Mat src,
                                        Mat dst1,
                                        Mat dst2)
        铅笔素描风格的非真实感线条绘制
        参数
        src - 输入8位3通道图像。
        dst1 - 输出 8 位 1 通道图像。
        dst2 - 输出图像,大小和类型与 src 相同。
      • 风格化

        public static void stylization​(Mat src,
                                       Mat dst,
                                       float sigma_s,
                                       float sigma_r)
        风格化的目标是产生具有各种效果的数字图像,而并非专注于照片真实感。边缘感知滤波器非常适合风格化,因为它们可以抽象低对比度区域,同时保留或增强高对比度特征。
        参数
        src - 输入8位3通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        sigma_s - 范围在 0 到 200 之间。
        sigma_r - 范围在 0 到 1 之间。
      • 风格化

        public static void stylization​(Mat src,
                                       Mat dst,
                                       float sigma_s)
        风格化的目标是产生具有各种效果的数字图像,而并非专注于照片真实感。边缘感知滤波器非常适合风格化,因为它们可以抽象低对比度区域,同时保留或增强高对比度特征。
        参数
        src - 输入8位3通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。
        sigma_s - 范围在 0 到 200 之间。
      • 风格化

        public static void stylization​(Mat src,
                                       Mat dst)
        风格化的目标是产生具有各种效果的数字图像,而并非专注于照片真实感。边缘感知滤波器非常适合风格化,因为它们可以抽象低对比度区域,同时保留或增强高对比度特征。
        参数
        src - 输入8位3通道图像。
        dst - 与 src 尺寸和类型相同的输出图像。