У меня есть прозрачные изображения [показано ниже], и я пытаюсь наложить их на функцию aishack.in cvOverlayImage (), чтобы наложить их на источник камеры
cvOverlayImage ()
void cvOverlayImage(IplImage* src, IplImage* overlay, CvPoint location, CvScalar S, CvScalar D)
{
int x,y,i;
for(x=0;x < overlay->width -10;x++)
{
if(x+location.x>=src->width) continue;
for(y=0;y < overlay->height -10;y++)
{
if(y+location.y>=src->height) continue;
CvScalar source = cvGet2D(src, y+location.y, x+location.x);
CvScalar over = cvGet2D(overlay, y, x);
CvScalar merged;
for(i=0;i<4;i++)
merged.val[i] = (S.val[i]*source.val[i]+D.val[i]*over.val[i]);
cvSet2D(src, y+location.y, x+location.x, merged);
}
}
}
вызов cvOverlayImage ()
cvOverlayImage(image_n, neg_img, cvPoint(0, 0), cvScalar(1.0,1.0,1.0,1.0), cvScalar(0.1,0.1,0.1,0.1));
Входные данные для cvOverlayImage ()
- Захват камеры
- Негативное изображение
Вывод из cvOverlayImage ()
Как видите, я не получаю то, что мне нужно. Пожалуйста, помогите мне.