두 이미지 합성하기(덧셈 cvAdd 함수)

같은크기의 두이미지의 픽셀값을 더한다 (두 이미지는 픽셀 array의 길이가 같아야 한다)


c++)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <opencv/cv.h>
#include <opencv/highgui.h>
 
 
void main() {
 
    IplImage *srcImage1, *srcImage2, *resultImage = 0;
 
    srcImage1 = cvLoadImage("D:/study/Lena.jpg"-1);
    srcImage2 = cvLoadImage("D:/study/background.jpg"-1);
 
 
    
    //두영상의 덧셈, 뺄셈, 곱셈, 나눗셈을 이용하여 이미지 합성이나 특수효과가 가능하다
    //이미지객체 생성
    resultImage = cvCreateImage(cvGetSize(srcImage1), IPL_DEPTH_8U, 3);
    //cvAdd(첫번째 소스이미지, 두번째 소스이미지, 결과이미지, 마스크) : 두 이미지 더하기
    cvAdd(srcImage1, srcImage2, resultImage, NULL);
 
 
 
    //create window
    cvNamedWindow("source image", CV_WINDOW_AUTOSIZE);
    cvNamedWindow("background image", CV_WINDOW_AUTOSIZE);
    cvNamedWindow("result image", CV_WINDOW_AUTOSIZE);
    //show window
    cvShowImage("source image", srcImage1);
    cvShowImage("background image", srcImage2);
    cvShowImage("result image", resultImage);
 
    cvWaitKey(0);
 
    //release image
    cvReleaseImage(&srcImage1);
    cvReleaseImage(&srcImage2);
    cvReleaseImage(&resultImage);
}
cs



결과




+ Recent posts