используя двойной порог - PullRequest
       29

используя двойной порог

1 голос
/ 27 февраля 2011

я использую метод Threshold объекта Bitmapdata для создания некоторых кнопок движения из видеоисточника камеры.

Он работает с 1 кнопкой (1 порог на 1 прямоугольник, это моя кнопка на экране), вот так:

//...
actualFrame.draw(oldFrame, new Matrix(), null, "difference"); 
 changedPixels = actualFrame.threshold(actualFrame,rect,pt1,">",0xFF111111,0xFF00FF00,0x00FFFFFF,false); 
    if (changedPixels > 200)  {
     //my actions
    }
//...

Это работает, порог возвращает количество измененных пикселей между 2 истантами, если это> 200 (я должен настроить это), действие совершается.

Проблема в том, что мне нужно больше, чем 1 кнопка, и

actualFrame.draw(oldFrame, new Matrix(), null, "difference"); 
changedPixels = actualFrame.threshold(actualFrame,rect,pt1,">",0xFF111111,0xFF00FF00,0x00FFFFFF,false); 
if (changedPixels > 200)  {
       //my actions
}

changedPixels2 = actualFrame.threshold(actualFrame,rect,pt2,">",0xFF111111,0xFF00FF00,0x00FFFFFF,false); 
if (changedPixels2 > 200)  {
    //my actions
}

я использую одно и то же измерение для кнопки (прямоугольник одинаковый) и другую (X, Y) позицию: pt2 противpt1

Но это не работает, ChangePixels2 всегда 0, (порог не применяется к изображению)

как я могу это исправить?

Спасибо

Alessio

1 Ответ

0 голосов
/ 27 февраля 2011

Насколько я понимаю, пороговое значение изменяет BitmapData, когда оно соответствует правильным условиям.Вы пытались создать еще один экземпляр actualFrame вместо того, чтобы дважды запускать порог на одном и том же?

actualFrame.draw(oldFrame, new Matrix(), null, "difference"); 
changedPixels = actualFrame.threshold(actualFrame,rect,pt1,">",0xFF111111,0xFF00FF00,0x00FFFFFF,false); 
if (changedPixels > 200)  {
       //my actions
}

actualFrame2.draw(oldFrame, new Matrix(), null, "difference");
changedPixels2 = actualFrame2.threshold(actualFrame2,rect,pt2,">",0xFF111111,0xFF00FF00,0x00FFFFFF,false); 
if (changedPixels2 > 200)  {
    //my actions
}
...