}
//////////////////////////////////////////局部阈值///////////////////////////////////////////////////
///
/// 局部阈值,应用于边缘处理.
///
/// 输入一张8位或32位图片
/// 输出一张图片
/// 给定最大阈值
/// 人为阈值是AdaptiveThresholdType枚举算出来的,平均自适应阈值和高斯阈值.
/// 阈值类型处理,请参见前面Threshold方法介绍
/// 用来计算阈值的象素邻域大小: 3, 5, 7, ...
/// 人工干预阈值
public static void AdaptiveThreshold(IInputArray src, IOutputArray dst, double maxValue, AdaptiveThresholdType adaptiveType, ThresholdType thresholdType, int blockSize, double param1);
// 摘要:
// Types of Adaptive Threshold
public enum AdaptiveThresholdType
{
// 摘要: 平均值应用于自适应阈值。
// indicates that "Mean minus C" should be used for adaptive threshold.
MeanC = 0,
// 摘要: 高斯均值应用于阈值。
// indicates that "Gaussian minus C" should be used for adaptive threshold.
GaussianC = 1,
}
//如果第五个参数使用Emgu.CV.CvEnum.ThresholdType.Binary,最后一个param1值越大就越偏向白色,如果param1值为负数就偏向黑色.
/////////////////////////////////////////////////////////滤波////////////////////////////////////////////////////
///
/// 模糊的图像进行中值滤波.特别是处理椒盐滤波.
///
/// 输入图片
/// 输出图片
/// 孔径线性大小;它必须是奇数和大于1
public static void MedianBlur(IInputArray src, IOutputArray dst, int ksize);
//均值滤波和高斯滤波会让图片变的模糊,可能用的不多,没做笔记.
///
/// 双边滤波,保护边缘的平滑滤波器.类相机磨皮处理(美颜效果)
///
/// 输入图像
/// 输出图像
/// 表示在过滤的过程中的每个像素的直径,如果非正数,它将会从sigmaSpace计算得到.
/// 颜色空间的滤波器的'西格玛'值,更大的值的参数意味着更远的颜色像素内
/// 坐标空间中滤波的'西格玛'值,当D>0,d指定的了领域大小与sigmaSpace无关.
/// 边界模式用于推断像素的图像,设定为默认
public static void BilateralFilter(IInputArray src, IOutputArray dst, int d, double sigmaColor, double sigmaSpace, BorderType borderType = BorderType.Default);
例:CvInvoke.BilateralFilter(img, dst, 10, 30, 15);
//////////////////////////////////////////////////////自定义滤波//////////////////////////////////
///
/// 自定义滤波
///
/// 源图
/// 输出图片
/// 单通道内核矩阵
/// 内核偏移量,中心表示为(-1,-1)
/// 0
/// 推断出图像外部像素的某种边界.一般都不写(预设)
public static void Filter2D(IInputArray src, IOutputArray dst, IInputArray kernel, Point anchor, double delta = 0, BorderType borderType = BorderType.Default);
例:
int[, ,] date = new[, ,] { { { -1 }, { -1 }, { -1 } }, { { -1 }, { 9 }, { -1 } }, { { -1 }, { -1 }, { -1 } } };
Image
Image
Image
CvInvoke.Filter2D(img, dst, kennel, new Point(-1, -1));
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////