Emgucv图像处理
阈值Threshold
private void button7_Click(object sender, EventArgs e)
{
//阈值
Mat scr = new Mat("001.jpg", Emgu.CV.CvEnum.ImreadModes.Grayscale);
Mat dst = new Mat();
CvInvoke.Threshold(scr, dst, 60, 255, ThresholdType.Binary);
Mat dst1 = new Mat();
CvInvoke.Threshold(scr, dst1, 60, 255, ThresholdType.BinaryInv);
Mat dst2 = new Mat();
CvInvoke.Threshold(scr, dst2, 60, 255, ThresholdType.Otsu);
Mat dst3 = new Mat();
CvInvoke.Threshold(scr, dst3, 10, 255, ThresholdType.ToZero);
Mat dst4 = new Mat();
CvInvoke.Threshold(scr, dst4, 10, 255, ThresholdType.ToZeroInv);
Mat dst5 = new Mat();
CvInvoke.Threshold(scr, dst5, 60, 255, ThresholdType.Trunc);
imageBox1.Image = scr;
imageBox2.Image = dst;
imageBox3.Image = dst1;
imageBox3.Image = dst2;
imageBox3.Image = dst3;
imageBox3.Image = dst4;
imageBox3.Image = dst5;
}
局部阈值AdaptiveThreshold
private void button8_Click(object sender, EventArgs e)
{
//局部阈值
Mat scr = new Mat("002.jpg", Emgu.CV.CvEnum.ImreadModes.Grayscale);
Mat dst = new Mat();
CvInvoke.AdaptiveThreshold(scr, dst, 255, AdaptiveThresholdType.GaussianC,Emgu.CV.CvEnum.ThresholdType.BinaryInv, 3, -10);
imageBox1.Image = scr;
imageBox2.Image = dst;
}
中值滤波MedianBlur
private void button9_Click(object sender, EventArgs e)
{