本文整理汇总了C#中CvMat.Set2D方法的典型用法代码示例。如果您正苦于以下问题:C# CvMat.Set2D方法的具体用法?C# CvMat.Set2D怎么用?C# CvMat.Set2D使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CvMat
的用法示例。
在下文中一共展示了CvMat.Set2D方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Read
public static void Read(out CvMat matrix, XmlElement element)
{
int cols = int.Parse(element.GetAttribute("cols"));
int rows = int.Parse(element.GetAttribute("rows"));
MatrixType matType = (MatrixType)Enum.Parse(typeof(MatrixType), element.GetAttribute("type"));
string terms = element.GetAttribute("values");
List<double> values = new List<double>();
string[] words = terms.Split(',');
foreach (string w in words)
values.Add(double.Parse(w.Trim()));
switch (matType)
{
case MatrixType.F32C1:
break;
case MatrixType.F64C1:
break;
default:
throw new Exception("Read unsupported MatrixType " + matType.ToString());
}
matrix = new CvMat(rows, cols, matType);
// Fill the matrix popping values off
for (int x = 0; x < cols; ++x)
{
for (int y = 0; y < rows; ++y)
{
matrix.Set2D(x, y, new CvScalar(values[0]));
values.RemoveAt(0);
}
}
}
示例2: CreateCvMat
public CvMat CreateCvMat()
{
CvMat ret = new CvMat(this.Rows, this.Cols, this.ElemType);
int index = 0;
for (int y = 0; y < this.Rows; y++)
{
for (int x = 0; x < this.Cols; x++)
{
ret.Set2D(y, x, this.Array[index++]);
}
}
return ret;
}
示例3: removeNoize
// 孤立輝点除去
// 周囲に輝点が無い場合,その輝点を消す
static CvMat removeNoize(CvMat image)
{
// 1px大きい作業用画像
CvMat workImage = new CvMat( image.Rows+1, image.Cols+1, MatrixType.U8C1 );
image.CopyMakeBorder( workImage, new CvPoint(1, 1), BorderType.Constant );
// 走査
for ( int row = 0; row < image.Rows; row++ )
{
for ( int col = 0; col < image.Cols; col++ )
{
// 注目画素が暗点ならば何もしない
if ( 0 == image.Get2D( row, col ))
continue;
// 範囲3x3の輝点が1ならば,中心画素を暗点にする
CvRect rect = new CvRect( col, row, 3, 3 );
CvMat area;
workImage.GetSubArr ( out area, rect );
int nonzero = area.CountNonZero();
if ( 1 == nonzero )
image.Set2D( row, col, 0 );
}
}
return image;
}
示例4: FillCvMat
/// <summary>
/// CvMatを指定されたデータで埋めます
/// </summary>
/// <param name="mat"></param>
/// <param name="arr"></param>
public static void FillCvMat(CvMat mat, IList<CvScalar> arr)
{
int count = 0;
for (int i = 0; i < mat.Rows; i++)
{
for (int j = 0; j < mat.Cols; j++)
{
mat.Set2D(i, j, arr[count++]);
}
}
}