/// <summary>
/// 阈值灰度变换
/// If the image shall be scaled to an interval different from [0,255],
/// this can be achieved by passing tuples with 2 values[From, To]
/// as Min and Max.
/// </summary>
/// <param name="src">InputImage</param>
/// <param name="scalemat">OutputImage</param>
/// <param name="min">min[From,To]</param>
/// <param name="max">max[From,To]</param>
public void Scale_image_inrange(Mat src,out Mat scalemat,int [] min,int [] max)
{
scalemat = new Mat();
int Min = 0;
int Max = 0;
int LowerLimit;
int UpperLimit;
double Mult;
double Add;
if (min.Length == 2)
{
LowerLimit = min[1];
Min = min[0];
}
else
{
LowerLimit = 0;
}
if (max.Length == 2)
{
UpperLimit = max[1];
Max = max[0];
}
else
{
UpperLimit = 255;
}
Mult = (double)(UpperLimit - LowerLimit) / (Max - Min);
Add = (double)(-Mult * Min + LowerLimit);
Cv2.ConvertScaleAbs(src,scalemat,Mult,Add);
}
OpenCvSharp 实现Halcon的scale_image_inrange算子
于 2023-11-10 16:09:07 首次发布