OpenCvSharp ThresholdTypes.Trunc 注解
时间: 2023-06-21 10:20:22 浏览: 51
ThresholdTypes.Trunc 是 OpenCV 中的一个阈值类型,表示将大于阈值的像素值截断为阈值,小于阈值的像素值不变。在 OpenCvSharp 中,ThresholdTypes.Trunc 是一个枚举值,可以通过调用 Mat.Threshold 方法来实现。
Mat.Threshold 方法的定义如下:
```csharp
public static void Threshold(InputArray src, OutputArray dst, double thresh, double maxval, ThresholdTypes type);
```
其中,输入参数 src 表示输入图像,输出参数 dst 表示输出图像,thresh 表示阈值,maxval 表示最大像素值,type 表示阈值类型。
当 type 参数设置为 ThresholdTypes.Trunc 时,Mat.Threshold 方法将对输入图像进行阈值化处理,将大于阈值的像素值截断为阈值,小于阈值的像素值不变,然后将结果保存到输出图像 dst 中。
需要注意的是,Mat.Threshold 方法支持的阈值类型还包括二进制阈值(ThresholdTypes.Binary)、反二进制阈值(ThresholdTypes.BinaryInv)、截断阈值(ThresholdTypes.Trunc)、取零阈值(ThresholdTypes.Tozero)和反取零阈值(ThresholdTypes.TozeroInv)。每种阈值类型的具体作用可以参考 OpenCV 官方文档。
相关问题
OpenCvSharp 4.6实现 ThresholdTypes.Truz
ThresholdTypes.Truz 实际上是一个拼写错误,正确的拼写应该是 ThresholdTypes.Trunc。这个枚举值表示阈值类型为截断(Truncate)。在 OpenCvSharp 4.6 中,可以通过调用 Mat.Threshold 方法来实现该阈值类型,示例代码如下:
```csharp
using OpenCvSharp;
Mat src = Cv2.ImRead("image.jpg", ImreadModes.GrayScale);
Mat dst = new Mat();
Cv2.Threshold(src, dst, 128, 255, ThresholdTypes.Trunc);
Cv2.ImWrite("result.jpg", dst);
```
在上面的代码中,首先使用 ImRead 方法读取一张灰度图像,然后调用 Threshold 方法实现阈值化操作,并将结果保存到 dst 变量中,最后使用 ImWrite 方法将结果保存到文件中。其中,第一个参数表示输入图像,第二个参数表示输出图像,第三个参数表示阈值,第四个参数表示最大像素值,第五个参数表示阈值类型,这里设置为 ThresholdTypes.Trunc。
ThresholdTypes.Tozero注解
ThresholdTypes.Tozero 是 OpenCV 中的一个阈值类型,表示将小于阈值的像素值置为 0,大于阈值的像素值不变。在 OpenCvSharp 中,ThresholdTypes.Tozero 是一个枚举值,可以通过调用 Mat.Threshold 方法来实现。
Mat.Threshold 方法的定义如下:
```csharp
public static void Threshold(InputArray src, OutputArray dst, double thresh, double maxval, ThresholdTypes type);
```
其中,输入参数 src 表示输入图像,输出参数 dst 表示输出图像,thresh 表示阈值,maxval 表示最大像素值,type 表示阈值类型。
当 type 参数设置为 ThresholdTypes.Tozero 时,Mat.Threshold 方法将对输入图像进行阈值化处理,将小于阈值的像素值置为 0,大于阈值的像素值不变,然后将结果保存到输出图像 dst 中。
需要注意的是,Mat.Threshold 方法支持的阈值类型还包括二进制阈值(ThresholdTypes.Binary)、反二进制阈值(ThresholdTypes.BinaryInv)、截断阈值(ThresholdTypes.Trunc)、取零阈值反转(ThresholdTypes.TozeroInv)。每种阈值类型的具体作用可以参考 OpenCV 官方文档。