本文整理汇总了C#中Scalar类的典型用法代码示例。如果您正苦于以下问题:C# Scalar类的具体用法?C# Scalar怎么用?C# Scalar使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Scalar类属于命名空间,在下文中一共展示了Scalar类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Run
public void Run()
{
var gray = new Mat(FilePath.Image.Lenna, ImreadModes.GrayScale);
var dst = new Mat(FilePath.Image.Lenna, ImreadModes.Color);
BRISK brisk = BRISK.Create();
KeyPoint[] keypoints = brisk.Detect(gray);
if (keypoints != null)
{
var color = new Scalar(0, 255, 0);
foreach (KeyPoint kpt in keypoints)
{
float r = kpt.Size / 2;
Cv2.Circle(dst, kpt.Pt, (int)r, color);
Cv2.Line(dst,
new Point2f(kpt.Pt.X + r, kpt.Pt.Y + r),
new Point2f(kpt.Pt.X - r, kpt.Pt.Y - r),
color);
Cv2.Line(dst,
new Point2f(kpt.Pt.X - r, kpt.Pt.Y + r),
new Point2f(kpt.Pt.X + r, kpt.Pt.Y - r),
color);
}
}
using (new Window("BRISK features", dst))
{
Cv2.WaitKey();
}
}
示例2: GetValueToEncode
public override ScalarValue GetValueToEncode(ScalarValue value, ScalarValue priorValue, Scalar field)
{
if (value == null)
return ScalarValue.Null;
return value;
}
示例3: Update
// Update is called once per frame
void Update () {
cap.Read (frame);
if (!frame.Empty()){
//assume this part of the frame contains only background
smoothed_img = frame.Blur(new Size(5,5));
frame_hsv = frame.CvtColor (ColorConversionCodes.BGR2HSV);
Scalar lb = new Scalar (0, 0, 50);
Scalar ub = new Scalar (180, 70, 180);
Mat disc = Cv2.GetStructuringElement (MorphShapes.Ellipse, new Size (7, 7));
Cv2.MorphologyEx (thresh, thresh, MorphTypes.Close, disc,null,3);
contours = Cv2.FindContoursAsMat (thresh , RetrievalModes.List, ContourApproximationModes.ApproxSimple);
mask = new Mat (thresh.Size (), thresh.Type (), Scalar.All (0));
Cv2.Merge(new Mat[]{mask,mask,mask},mask);
Cv2.BitwiseAnd (mask, frame, mask);
//Cv2.Merge(new Mat[]{frame_backproj,frame_backproj,frame_backproj},frame_backproj);
tex.LoadImage (smoothed_img.ToBytes (".png", new int[]{ 0 }));
}
}
示例4: GetValueToEncode
public override ScalarValue GetValueToEncode(ScalarValue value_Renamed, ScalarValue priorValue, Scalar field)
{
if (priorValue == null)
{
return value_Renamed;
}
if (value_Renamed == null)
{
if (field.Optional)
{
if (priorValue == ScalarValue.UNDEFINED && field.DefaultValue.Undefined)
{
return null;
}
return ScalarValue.NULL;
}
throw new ArgumentException();
}
if (priorValue.Undefined)
{
if (value_Renamed.Equals(field.DefaultValue))
{
return null;
}
return value_Renamed;
}
if (!value_Renamed.Equals(((NumericValue) priorValue).Increment()))
{
return value_Renamed;
}
return null;
}
示例5: DecodeEmptyValue
public override ScalarValue DecodeEmptyValue(ScalarValue priorValue, Scalar field)
{
if (!field.IsOptional)
return field.DefaultValue;
return null;
}
示例6: Run
public void Run()
{
var dst = new Mat(FilePath.Lenna, LoadMode.Color);
var gray = new Mat(FilePath.Lenna, LoadMode.GrayScale);
StarDetector detector = new StarDetector(45);
KeyPoint[] keypoints = detector.Run(gray);
if (keypoints != null)
{
var color = new Scalar(0, 255, 0);
foreach (KeyPoint kpt in keypoints)
{
float r = kpt.Size / 2;
Cv2.Circle(dst, kpt.Pt, (int)r, color, 1, LineType.Link8, 0);
Cv2.Line(dst,
new Point2f(kpt.Pt.X + r, kpt.Pt.Y + r),
new Point2f(kpt.Pt.X - r, kpt.Pt.Y - r),
color, 1, LineType.Link8, 0);
Cv2.Line(dst,
new Point2f(kpt.Pt.X - r, kpt.Pt.Y + r),
new Point2f(kpt.Pt.X + r, kpt.Pt.Y - r),
color, 1, LineType.Link8, 0);
}
}
using (new Window("StarDetector features", dst))
{
Cv.WaitKey();
}
}
示例7: RaiseArmTrigger
public RaiseArmTrigger(XmlNode node)
{
mHeightThreshold = Nui.magnitude(Nui.joint(Nui.Shoulder_Centre) - Nui.joint(Nui.Hip_Centre));
mAngleThreshold = Scalar.Create(.48f);
mDepthThreshold = Scalar.Create(GetFloat(node, 3.6f, "DepthThreshold"));
mWidthThreshold = Scalar.Create(GetFloat(node, 1f, "WidthThreshold"));
mBody = Nui.joint(Nui.Hip_Centre);
Condition inWidth = Nui.abs(Nui.x(Nui.joint(Nui.Hip_Centre))) < mWidthThreshold;
Condition inDepth = Nui.z(Nui.joint(Nui.Hip_Centre)) < mDepthThreshold;
Condition inRange = C.And(inWidth, inDepth);
Vector up = Vector.Create(0f, 1f, 0f);
mArmR = Nui.joint(Nui.Hand_Right) - Nui.joint(Nui.Shoulder_Right);
mArmL = Nui.joint(Nui.Hand_Left) - Nui.joint(Nui.Shoulder_Left);
mAngleR = Nui.dot(up, mArmR);
mAngleL = Nui.dot(up, mArmL);
mTriggerR = C.And(Nui.y(mArmR) > mHeightThreshold, mAngleR > mAngleThreshold);
mTriggerL = C.And(Nui.y(mArmL) > mHeightThreshold, mAngleL > mAngleThreshold);
mTrigger = C.And(C.Or(mTriggerR, mTriggerL), inRange);
mTrigger.OnChange += new ChangeDelegate(mTrigger_OnChange);
}
示例8: DecodeValue
public override ScalarValue DecodeValue(ScalarValue val, ScalarValue priorVal, Scalar field)
{
if (priorVal == null)
{
Global.HandleError(Error.FastConstants.D6_MNDTRY_FIELD_NOT_PRESENT, "The field " + field + " must have a priorValue defined.");
return null;
}
if (val == null)
{
return null;
}
DecimalValue priorValue;
if (priorVal.Undefined)
{
if (field.DefaultValue.Undefined)
{
priorValue = (DecimalValue) field.BaseValue;
}
else
{
priorValue = (DecimalValue) field.DefaultValue;
}
}
else
{
priorValue = (DecimalValue) priorVal;
}
var value_Renamed = (DecimalValue) val;
return new DecimalValue(value_Renamed.mantissa + priorValue.mantissa, value_Renamed.exponent + priorValue.exponent);
}
示例9: Parse
public override Field Parse(System.Xml.XmlElement fieldNode, bool optional, ParsingContext context)
{
Operator.Operator operator_Renamed = Operator.Operator.NONE;
string defaultValue = null;
string key = null;
string ns = "";
System.Xml.XmlElement operatorElement = GetOperatorElement(fieldNode);
if (operatorElement != null)
{
if (operatorElement.HasAttribute("value"))
defaultValue = operatorElement.GetAttribute("value");
operator_Renamed = Operator.Operator.GetOperator(operatorElement.Name);
if (operatorElement.HasAttribute("key"))
key = operatorElement.GetAttribute("key");
if (operatorElement.HasAttribute("ns"))
ns = operatorElement.GetAttribute("ns");
if (operatorElement.HasAttribute("dictionary"))
context.Dictionary = operatorElement.GetAttribute("dictionary");
}
FASTType type = GetType(fieldNode, context);
var scalar = new Scalar(GetName(fieldNode, context), type, operator_Renamed, type.GetValue(defaultValue), optional);
if (fieldNode.HasAttribute("id"))
scalar.Id = fieldNode.GetAttribute("id");
if (key != null)
scalar.Key = new QName(key, ns);
scalar.Dictionary = context.Dictionary;
ParseExternalAttributes(fieldNode, scalar);
return scalar;
}
示例10: setHsvColor
public void setHsvColor (Scalar hsvColor)
{
double minH = (hsvColor.val [0] >= mColorRadius.val [0]) ? hsvColor.val [0] - mColorRadius.val [0] : 0;
double maxH = (hsvColor.val [0] + mColorRadius.val [0] <= 255) ? hsvColor.val [0] + mColorRadius.val [0] : 255;
mLowerBound.val [0] = minH;
mUpperBound.val [0] = maxH;
mLowerBound.val [1] = hsvColor.val [1] - mColorRadius.val [1];
mUpperBound.val [1] = hsvColor.val [1] + mColorRadius.val [1];
mLowerBound.val [2] = hsvColor.val [2] - mColorRadius.val [2];
mUpperBound.val [2] = hsvColor.val [2] + mColorRadius.val [2];
mLowerBound.val [3] = 0;
mUpperBound.val [3] = 255;
Mat spectrumHsv = new Mat (1, (int)(maxH - minH), CvType.CV_8UC3);
for (int j = 0; j < maxH-minH; j++) {
byte[] tmp = {(byte)(minH + j), (byte)255, (byte)255};
spectrumHsv.put (0, j, tmp);
}
Imgproc.cvtColor (spectrumHsv, mSpectrum, Imgproc.COLOR_HSV2RGB_FULL, 4);
}
示例11: DecodeValue
public override ScalarValue DecodeValue(ScalarValue newValue, ScalarValue priorValue, Scalar field)
{
if (priorValue == null && !field.IsOptional)
{
Global.ErrorHandler.OnError(null, DynError.MandatoryFieldNotPresent, "");
return null;
}
var baseValue = (StringValue) (priorValue == null || priorValue.IsUndefined
? field.BaseValue
: priorValue);
if (newValue == null || newValue.IsNull)
{
if (!field.IsOptional)
throw new ArgumentException("");
return null;
}
string delta = ((StringValue) newValue).Value;
int length = Math.Max(baseValue.Value.Length - delta.Length, 0);
string root = baseValue.Value.Substring(0, (length) - (0));
return new StringValue(root + delta);
}
示例12: DecodeEmptyValue
public override ScalarValue DecodeEmptyValue(ScalarValue previousValue, Scalar field)
{
if (!field.Optional)
{
return field.DefaultValue;
}
return null;
}
示例13: GetLEDPositinon
//LEDの位置検出
public Microsoft.Kinect.CameraSpacePoint GetLEDPositinon(int imgW, int imgH, byte[] colors, Scalar color, ushort[] depthBuffer)
{
//二値化 → 輪郭抽出・中心位置取得 → depth位置に変換 → 座標取得
//Mat ColorImage = this.CreatMat(colors, imgW, imgH);
//Mat GrayScaleImage = this.Converter(ColorImage);
Mat GrayScaleImage = this.Converter(colors, imgW, imgH, 4);
Point pt = this.GetCenterPointofLED(GrayScaleImage);
return this.GetCenterPosition(pt, depthBuffer, imgW, imgH);
}
示例14: GetValueToEncode
public override ScalarValue GetValueToEncode(ScalarValue value_Renamed, ScalarValue priorValue, Scalar field)
{
if (value_Renamed == null)
{
return field.DefaultValue.Undefined ? null : ScalarValue.NULL;
}
return value_Renamed.Equals(field.DefaultValue)?null:value_Renamed;
}
示例15: GetValueToEncode
public override ScalarValue GetValueToEncode(ScalarValue value_Renamed, ScalarValue priorValue, Scalar field)
{
if (value_Renamed == null)
{
return ScalarValue.NULL;
}
return value_Renamed;
}