コード例 #1
0
        public IImageIterator <T> Offset(int steps)
        {
            ImageColumnIterator <T> result = this;

            result.Advance(steps);
            return(result);
        }
コード例 #2
0
 public int Difference(ImageColumnIterator <T> rhs)
 {
     if (this.image == rhs.image &&
         this.column == rhs.column)
     {
         return(this.row - rhs.row);
     }
     throw new ArgumentException();
 }
コード例 #3
0
 public int Difference(IImageIterator <T> obj)
 {
     if (obj is ImageColumnIterator <T> )
     {
         ImageColumnIterator <T> rhs = (ImageColumnIterator <T>)obj;
         return(Difference(rhs));
     }
     throw new ArgumentException();
 }
コード例 #4
0
 public override bool Equals(object obj)
 {
     if (obj is ImageColumnIterator <T> )
     {
         ImageColumnIterator <T> rhs = (ImageColumnIterator <T>)obj;
         return(Equals(rhs));
     }
     return(false);
 }
コード例 #5
0
        /// <summary>
        /// Performs a one dimensional convolution in the y direction
        /// </summary>
        /// <param name="source"></param>
        /// <param name="target"></param>
        /// <param name="kernel"></param>
        private static void SeparableConvolveY(IImage <double> source, IImage <double> target, Kernel1D kernel)
        {
            Debug.Assert(kernel.Left <= 0);
            Debug.Assert(kernel.Right >= 0);
            int w = source.Width;
            int h = source.Height;

            Debug.Assert(h >= kernel.Right - kernel.Left + 1, "Kernel cannot be longer than line");

            for (int x = 0; x < w; ++x)
            {
                ImageColumnIterator <double> cs    = source.GetColumnIterator(x, 0);
                ImageColumnIterator <double> csEnd = source.GetColumnIterator(x, source.Height);
                ImageColumnIterator <double> ct    = target.GetColumnIterator(x);
                ConvolveLine(cs, csEnd, ct, kernel);
            }
        }
コード例 #6
0
 public bool Equals(ImageColumnIterator <T> rhs)
 {
     return(image == rhs.image && row == rhs.row && column == rhs.column);
 }