Вад, да, совсем напутал. Спутал операцию сравнения со сдвигом. Что самое интересное - при этом программа работала практически как надо, лажа вылезла, когда попробовал различные варианты освещения. А до этого у меня посути бы темный стол со светлой точкой от лазерной указки. При такой контрастности прога отрабатывала и я даже подумать немог что где-то налажал. 
Но тогда вопрос такой: если имеется пиксель RGB цвета скажем 145 167 220 и char r = GetRValue (pixel_color), тогда r rкакое принимает значение?  145? Или я туплю....
Прошу меня простить за глупые вопросы, но я можно считать новичек в этом деле. Но мне поручено серьезное задание и я честно пытаюсь во всем разобраться.
Dimka, картинка из камеры приобразуется в BITMAP, далее уже идет работа с ним. Вот код, который предшествует циклу фильтрации:
CPaintDC dc(GetDlgItem(IDC_STATIC_FRAME2)); 
   m_bmp.GetBitmap(&bm);
   dcMem.DeleteDC();
   dcMem.CreateCompatibleDC(&dc);
   dcMem.SelectObject(&m_bmp);
   dc.StretchBlt(0, 0, m2_rectFrame.Width() - 10, m2_rectFrame.Height() - 10,
      &dcMem, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);