Компенсация положения изображения в EMGU CV - PullRequest
0 голосов
/ 21 сентября 2018

Я столкнулся с проблемой, связанной с моим проектом.у меня есть изображение с тремя напечатанными объектами, и я хочу проверить, перемещаются ли объекты вверх или вниз во время печати.Если он превышает / превышает пороговый предел, его необходимо отклонить.

EG: CLick here for image

На приведенном выше изображении показан хороший пример, я выбираю область интереса для всех 3 объектов, чтобысократить время проверки.Но проблема в том, что во время печати продукт немного сдвигается, хотя качество печати хорошее, изображение изменяется в пределах моей области интереса и меняются координаты, что приводит к отклонению.

EG:

CLick here for image

Как сохранить изображение по центру (ROI-изображение) со ссылкой на центральный объект (центральный объект никогда не смещается во время печати).

Я использую сопоставление с шаблономчтобы найти объекты следующим образом:

            Image<Bgr, Byte> templateImage = img_tofind;
            Image<Bgr, Byte> sourceImage = ROI_Image;

            using (Image<Gray, float> imgMatch = 
             sourceImage.MatchTemplate(templateImage, 
              Emgu.CV.CvEnum.TM_TYPE.CV_TM_CCOEFF_NORMED))
            {

                Point[] MAX_Loc, Min_Loc;
                double[] min, max;
                imgMatch.MinMax(out min, out max, out Min_Loc, out 
                 MAX_Loc);

                using (Image<Gray, double> RG_Image = 
                imgMatch.Convert<Gray, double>().Copy())
                {
                  if (max[0] > 0.60)
                    {
                        Rectangle match = new Rectangle(MAX_Loc[0], 
                        templateImage.Size);
                        sourceImage.Draw(match, new Bgr(Color.Red), 1);

                        int hw = match.Width;
                        int hh = match.Height;
                        int htlx = match.X;
                        int htly = match.Y;

                        hres1 = htlx + hw / 2; Object COG X
                        hres2 = htly + hh / 2;  Object COG Y

                    }

                }
                ibresult.Image = sourceImage;
            }

Я хочу, чтобы изображение области интереса всегда было центрировано со ссылкой на центральный объект.

...