using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Vision.Recognition.Helper.OpenCv
{
public class ArithmeticHelper
{
///
/// 水平投影
///
///
///
public static int[] HorizontalProjection(Mat gray)
{
var projection = new int[gray.Height];
//对每一行计算投影值
for (var y = 0; y < gray.Height; ++y)
{
//遍历这一行的每一个像素,如果是有效的,累加投影值
for (var x = 0; x < gray.Width; ++x)
{
var s = gray.Get(y, x);
if (s.Item0 == 255)
{
projection[y]++;
}
}
}
return projection;
}
///
/// 垂直投影
///
///
///
public static int[] VerticalProjection(Mat gray)
{
var projection = new int[gray.Width];
//遍历每一列计算投影值
for (var x = 0; x < gray.Width; ++x)
{
for (var y = 0; y < gray.Height; ++y)
{
var s = gray.Get(y, x);
if (s.Item0 == 255)
{
projection[x]++;
}
}
}
return projection;
}
}
}