public OpenCVFaceDetector(OpenCVFaceDetectorConfig config) { _inited = false; _config = config; _img = new GstImageInfo(); _img.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_Alpha8); }
// Use this for initialization void Start() { _capDev = new UnityOpenCVVideoCaptureAPI(); _faceDetector = new UnityOpenCVFaceDetectorAPI(Application.dataPath + DetectorParameters.cascadesPath, DetectorParameters.resizeFactor, DetectorParameters.scaler, DetectorParameters.minNeighbors, DetectorParameters.minSize, DetectorParameters.maxSize); _faceDetector.BindCamera(_capDev); _image = new GstImageInfo(); _faceImage = new GstImageInfo(); BlitImage = new Texture2D(1, 1); FaceImage = new Texture2D(1, 1); _image.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); _faceImage.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); _imageGrabber = new Thread(new ThreadStart(ImageGrabberThread)); SettingsHolder.Instance.AddDependencyNode(this); if (Debugger != null) { Debugger.AddDebugElement(this); } }
void OnImageSampled(ImageSampler s, GstImageInfo ifo) { if (_detect) { _faceDetector.BindImage(ifo); _processing = true; } _detect = false; }
void OnEnable() { CameraPorts cameraports = CameraPanel.Load(); List <int> portSettings = new List <int>(); portSettings.Add(cameraports.camera1); portSettings.Add(cameraports.camera2); portSettings.Add(cameraports.camera3); portSettings.Add(cameraports.camera4); portSettings.Add(cameraports.idMiniROV); //Debug.Log("El id está en la posicion: "+portSettings.Count); GameObject parent = GameObject.Find("CameraManager"); for (int i = 0; i < parent.transform.childCount; i++) { if (this.gameObject.name == ("VideoStream" + (i + 1))) { port = portSettings[i].ToString(); int mjpegCamera = portSettings[portSettings.Count - 1]; if (i == mjpegCamera) { pipeline = "udpsrc port=" + port + " ! application/x-rtp,encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! appsink name=videoSink"; } else { pipeline = "udpsrc port=" + port + " ! application/x-rtp ! rtph264depay ! avdec_h264 ! videoconvert ! appsink name=videoSink"; } } } m_Texture = gameObject.GetComponent <GstCustomTexture>(); m_Texture.Initialize(); //StartCoroutine(Dalay()); System.Threading.Thread.Sleep(100); //pipeline = "udpsrc port="+port+" ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! appsink name=videoSink"; m_Texture.SetPipeline(pipeline); // pipeline+" ! video/x-raw,format=I420 ! videoconvert ! appsink name=videoSink" //StartCoroutine(Dalay()); System.Threading.Thread.Sleep(100); m_Texture.Player.CreateStream(); //StartCoroutine(Dalay()); System.Threading.Thread.Sleep(100); m_Texture.Player.Play(); m_Texture.OnFrameBlitted += OnFrameBlitted; _img = new GstImageInfo(); _img.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); BlittedImage = new Texture2D(1, 1); BlittedImage.filterMode = FilterMode.Bilinear; BlittedImage.anisoLevel = 0; BlittedImage.wrapMode = TextureWrapMode.Clamp; if (TargetMaterial != null) { TargetMaterial.mainTexture = BlittedImage; } }
public bool ToImage(GstImageInfo image, int x, int y, int w, int h) { if (CVVideoCap_ToImage(_instance, image.GetInstance(), x, y, w, h)) { image.UpdateInfo(); return(true); } return(false); }
public bool CopyFrame(GstImageInfo image) { bool ret = mray_gst_customPlayerCopyFrame(m_Instance, image.GetInstance()); if (ret) { image.UpdateInfo(); } return(ret); }
public bool CopyFrameCropped(GstImageInfo image, int x, int y, int w, int h) { bool ret = mray_gst_customPlayerCropFrame(m_Instance, image.GetInstance(), x, y, w, h); if (ret) { image.UpdateInfo(); } return(ret); }
void _initTexture() { _SrcTexture.OnFrameGrabbed += OnFrameGrabbed; _img = new GstImageInfo(); _img.Create(1, 1, _format); _blittedImg = new Texture2D(1, 1); _blittedImg.filterMode = FilterMode.Bilinear; _blittedImg.anisoLevel = 0; _blittedImg.wrapMode = TextureWrapMode.Clamp; }
public override void BindImage(GstImageInfo img) { if (_detecting) { return; } img.CloneTo(_img); _img.UpdateInfo(); //_LatLngPos.Set (zoi.Latitude, zoi.Longtitude); //_blitRect = zoi.BlitRect; _newImage = true; _signalEvent.Set(); }
public override void CalculateWeights(GstImageInfo image, ImageFeatureMap target) { if (!Enabled) { return; } DetectionTime = 0; for (int i = 0; i < Detectors.Count; ++i) { Detectors [i].CalculateWeights(image, target); DetectionTime += Detectors [i].DetectionTime; } }
// Use this for initialization void Start() { m_Texture = gameObject.GetComponent <GstCustomTexture>(); return; m_Texture.OnFrameGrabbed += OnFrameGrabbed; _img = new GstImageInfo(); _img.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); BlittedImage = new Texture2D(1, 1); BlittedImage.filterMode = FilterMode.Bilinear; BlittedImage.anisoLevel = 0; BlittedImage.wrapMode = TextureWrapMode.Clamp; TargetRenderObject.material.mainTexture = BlittedImage; }
// Use this for initialization void Start() { if (SourceTexture == null) { SourceTexture = GameObject.FindObjectOfType <GstCustomTexture> (); } _imgSampler = new ImageSampler(SourceTexture); _imgSampler.OnImageSampled += OnImageSampled; _detector = new UnityOpenCVObjectDetectorAPI(); _sampling = true; _tmp = new GstImageInfo(); _tmp.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_Alpha8); TrackingManager.Instance.Ref(); }
public override void CalculateWeights(GstImageInfo image, ImageFeatureMap target) { DetectionTime = 0; if (!Enabled) { return; } List <Rect> normObjects = new List <Rect> (); _detector.BindImage(image); if (!_featuresDetected) { return; } _featuresDetected = false; int W = image.Width; int H = image.Height; //fill features to the features map foreach (Rect o in _faces) { //expand the detected area few pixels Rect r = new Rect(); r.x = o.x + (int)(Params.FaceConfig.ExpansionRect.x * o.width); r.y = o.y + (int)(Params.FaceConfig.ExpansionRect.y * o.height); r.width = o.width + (int)((Params.FaceConfig.ExpansionRect.width) * o.width); r.height = o.height + (int)((Params.FaceConfig.ExpansionRect.height) * o.height); //fill detected face rectangle with full weight target.FillRectangle((float)r.x / (float)W, (float)r.y / (float)H, (float)r.width / (float)W, (float)r.height / (float)H, 1); normObjects.Add(new Rect(r.left / (float)W, r.top / (float)H, r.width / (float)W, r.height / (float)H)); } _detectedObjects = normObjects; }
// Use this for initialization private void OnEnable() { GameObject parent = GameObject.Find("CameraManager");; for (int i = 0; i < parent.transform.childCount; i++) { if (this.gameObject.name == ("VideoStream" + (i + 1))) { port = this.GetComponentInParent <CameraManager>().GetPorts()[i]; } } m_Texture = gameObject.GetComponent <GstCustomTexture>(); m_Texture.Initialize(); //StartCoroutine(Dalay()); System.Threading.Thread.Sleep(100); //pipeline = "udpsrc port="+port+" ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! appsink name=videoSink"; pipeline = "udpsrc port=" + port + " ! application/x-rtp ! rtph264depay ! avdec_h264 ! videoconvert ! appsink name=videoSink"; m_Texture.SetPipeline(pipeline); // pipeline+" ! video/x-raw,format=I420 ! videoconvert ! appsink name=videoSink" //StartCoroutine(Dalay()); System.Threading.Thread.Sleep(100); m_Texture.Player.CreateStream(); //StartCoroutine(Dalay()); System.Threading.Thread.Sleep(100); m_Texture.Player.Play(); m_Texture.OnFrameBlitted += OnFrameBlitted; _img = new GstImageInfo(); _img.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); BlittedImage = new Texture2D(1, 1); BlittedImage.filterMode = FilterMode.Bilinear; BlittedImage.anisoLevel = 0; BlittedImage.wrapMode = TextureWrapMode.Clamp; if (TargetMaterial != null) { TargetMaterial.mainTexture = BlittedImage; } }
// Use this for initialization void Start() { m_Texture = gameObject.GetComponent <GstCustomTexture>(); m_Texture.Initialize(); m_Texture.SetPipeline(pipeline + " ! video/x-raw,format=I420 ! videoconvert ! appsink name=videoSink"); m_Texture.Player.CreateStream(); m_Texture.Player.Play(); m_Texture.OnFrameBlitted += OnFrameBlitted; _img = new GstImageInfo(); _img.Create(3840, 2160, GstImageInfo.EPixelFormat.EPixel_R8G8B8); BlittedImage = new Texture2D(7680, 2160); BlittedImage.filterMode = FilterMode.Bilinear; BlittedImage.anisoLevel = 0; BlittedImage.wrapMode = TextureWrapMode.Clamp; if (TargetMaterial != null) { TargetMaterial.mainTexture = BlittedImage; } }
// Use this for initialization void Start() { m_Texture = gameObject.GetComponent <GstCustomTexture>(); m_Texture.Initialize(); m_Texture.SetPipeline(pipeline); m_Texture.Player.CreateStream(); m_Texture.Player.Play(); m_Texture.OnFrameBlitted += OnFrameBlitted; _img = new GstImageInfo(); _img.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); BlittedImage = new Texture2D(1, 1); BlittedImage.filterMode = FilterMode.Bilinear; BlittedImage.anisoLevel = 0; BlittedImage.wrapMode = TextureWrapMode.Clamp; if (TargetMaterial != null) { TargetMaterial.mainTexture = BlittedImage; } }
// Use this for initialization void Start() { m_Texture = gameObject.GetComponent <GstCustomTexture>(); m_Texture.Initialize(); m_Texture.SetPipeline(pipeline + " ! video/x-raw,format=I420 ! videoconvert ! appsink name=videoSink"); m_Texture.Player.CreateStream(); m_Texture.Player.Play(); m_Texture.OnFrameBlitted += OnFrameBlitted; _img_left = new GstImageInfo(); _img_left.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); _img_right = new GstImageInfo(); _img_right.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); blittedImageLeft = new Texture2D(1, 1); blittedImageLeft.filterMode = FilterMode.Bilinear; blittedImageLeft.anisoLevel = 0; blittedImageLeft.wrapMode = TextureWrapMode.Clamp; blittedImageRight = new Texture2D(1, 1); blittedImageRight.filterMode = FilterMode.Bilinear; blittedImageRight.anisoLevel = 0; blittedImageRight.wrapMode = TextureWrapMode.Clamp; if (leftUIImage != null) { leftUIImage.material.mainTexture = blittedImageLeft; leftUIImage.rectTransform.sizeDelta = new Vector2(frameWidth, frameHeight); } if (rightUIImage != null) { rightUIImage.material.mainTexture = blittedImageRight; rightUIImage.rectTransform.sizeDelta = new Vector2(frameWidth, frameHeight); } }
// Use this for initialization void Start() { m_Texture = gameObject.GetComponent <GstCustomTexture>(); m_Texture.Initialize(); string pipeline = "udpsrc port=" + Port.ToString() + " ! application/x-rtp, encoding-name=H264, payload=96 ! rtph264depay ! h264parse ! avdec_h264"; m_Texture.SetPipeline(pipeline + " ! video/x-raw,format=I420 ! videoconvert ! appsink name=videoSink"); m_Texture.Player.CreateStream(); m_Texture.Player.Play(); m_Texture.OnFrameBlitted += OnFrameBlitted; _img_left = new GstImageInfo(); _img_left.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); _img_right = new GstImageInfo(); _img_right.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8); blittedImageLeft = new Texture2D(1, 1); blittedImageLeft.filterMode = FilterMode.Bilinear; blittedImageLeft.anisoLevel = 0; blittedImageLeft.wrapMode = TextureWrapMode.Clamp; blittedImageRight = new Texture2D(1, 1); blittedImageRight.filterMode = FilterMode.Bilinear; blittedImageRight.anisoLevel = 0; blittedImageRight.wrapMode = TextureWrapMode.Clamp; if (leftUIImage != null) { leftUIImage.texture = blittedImageLeft; } if (rightUIImage != null) { rightUIImage.texture = blittedImageRight; } }
public abstract void BindImage(GstImageInfo image);
void OnImageSampled(ImageSampler sampler, GstImageInfo img) { _processing = true; img.CloneTo(_tmp); TrackingManager.Instance.AddTicket(this); }
public void Destroy() { _img.Destory(); _img = null; }
public abstract void CalculateWeights(GstImageInfo image, ImageFeatureMap target);
void OnImageArrived(ImageSampler sampler, GstImageInfo img) { _newImageArrived = true; _textureUpdated = false; }
public void BindImage(GstImageInfo img) { DN_BindImage(_instance, img.GetInstance()); }
public bool TrackInImage(GstImageInfo img, ref float x, ref float y) { return(ObjectTracker_TrackInImage(_instance, img.GetInstance(), ref x, ref y)); }
public void BindImage(GstImageInfo img) { ObjectTracker_BindImage(_instance, img.GetInstance()); }
public void CloneTo(GstImageInfo ifo) { mray_cloneImageData(GetInstance(), ifo.GetInstance()); }
public void BindImage(GstImageInfo img) { FaceDetector_BindImage(_instance, img.GetInstance()); }