프로젝트

일반

사용자정보

개정판 16231f58

ID16231f58ac0aa96636789e45013d9a97576dc357
상위 5bec847f
하위 92e69742, 253c9730

김태성이(가) 4달 전에 추가함

issue #0000 imagecompare 수정
- rect을 opencv에서 그려 이미지로 출력

Change-Id: I241d6b62eb8dd88ae4a970c4e531d079bbaa3602

차이점 보기:

ImageComparer/Markus.ImageComparer/ImageCompare.cs
134 134
            return result;
135 135
        }
136 136

  
137
        public System.Drawing.Bitmap CompareReturnDrawContours(System.Drawing.Bitmap Originalbitmap, System.Drawing.Bitmap TargatBitmap,Color rectColor)
138
        {
139
            System.Drawing.Bitmap result = null;
140

  
141
            try
142
            {
143
                List<System.Windows.Rect> rects = new List<System.Windows.Rect>();
144

  
145
                var data = MathchesImageData(Originalbitmap, TargatBitmap);
146
                result = GetContoursImage(data, TargatBitmap.Size,rectColor);
147
            }
148
            catch (Exception ex)
149
            {
150
                throw ex;
151
            }
152
            finally
153
            {
154
            }
155

  
156
            return result;
157
        }
158

  
137 159
        /// <summary>
138 160
        /// 이미지를 비교 후 원본 이미지에 Rect를 그린다.
139 161
        /// 메모리 문제 발생
......
220 242
        /// </summary>
221 243
        /// <param name="nwdBitmap"></param>
222 244
        /// <returns></returns>
223
        public System.Windows.Media.Imaging.WriteableBitmap CreateWriteableBitmapFromBitmap(Bitmap bitmap)
245
        public System.Windows.Media.Imaging.WriteableBitmap CreateWriteableBitmapFromBitmap(IList<Bitmap> bitmaps,Size size)
224 246
        {
225 247
            System.Windows.Media.Imaging.WriteableBitmap result = null;
226 248

  
227
            if (bitmap == null)
228
                throw new ArgumentNullException("bitmap");
229

  
230 249
            try
231 250
            {
232 251
                int bytesPerPixel = 4;
233 252

  
234
                Bitmap newBitmap = new Bitmap(bitmap.Width, bitmap.Height, PixelFormat.Format32bppArgb);
253
                Bitmap newBitmap = new Bitmap(size.Width, size.Height, PixelFormat.Format32bppArgb);
235 254
                using (Graphics g = Graphics.FromImage(newBitmap))
236 255
                {
237
                    g.DrawImage(bitmap, 0, 0);
256
                    foreach (var bitmap in bitmaps)
257
                    {
258
                        g.DrawImage(bitmap, 0, 0);
259
                    }
238 260
                }
239 261

  
240 262
                result = new System.Windows.Media.Imaging.WriteableBitmap(newBitmap.Width, newBitmap.Height,
......
256 278
            }
257 279
            finally
258 280
            {
259
                bitmap.Dispose();
260
                bitmap = null;
281
                for (int i = 0; i < bitmaps.Count;i++)
282
                {
283
                    bitmaps[i].Dispose();
284
                    bitmaps[i] = null;
285
                }
261 286
                //GC.Collect(2);
262 287
            }
263 288

  

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)