예제 #1
0
 public void GetImage(CVImageDoubleBuffer target)
 {
     lock (target.BackLock)
     {
         FLink.GetImage(target.BackImage);
     }
 }
		public override void Allocate()
		{
			FNeedsConversion = ImageUtils.NeedsConversion(FInput.ImageAttributes.ColorFormat, out FConvertedFormat);
			if (FNeedsConversion)
			{
				FBufferConverted = new CVImageDoubleBuffer();
				FBufferConverted.Initialise(new CVImageAttributes(FInput.ImageAttributes.Size, FConvertedFormat));
			}

			FNeedsTexture = true;
		}
        public override void Allocate()
        {
			//allocate w.r.t. incoming image
			lock (FLockImageAllocation)
			{
				FInputOk = false;
				FNeedsConversion = ImageUtils.NeedsConversion(FInput.ImageAttributes.ColorFormat, out FConvertedFormat);
				FBuffer = new CVImageDoubleBuffer();
				if (FNeedsConversion)
				{
					FBuffer.Initialise(new CVImageAttributes(FInput.ImageAttributes.Size, FConvertedFormat));
				}
				else
				{
					FBuffer.Initialise(FInput.ImageAttributes);
				}

				this.Width = FInput.ImageAttributes.Width;
				this.Height = FInput.ImageAttributes.Height;
				FInputOk = true;
			}
        }
예제 #4
0
		public void GetImage(CVImageDoubleBuffer target)
		{
			lock(target.BackLock)
			{
				FLink.GetImage(target.BackImage);
			}
		}