Programming/openCV

6. 디졸브와 트랙바

snoohey 2017. 4. 4. 16:35

#include<iostream>

#include<opencv2\core.hpp>

#include<opencv\cv.h>

#include<opencv2\highgui.hpp>

#include<opencv2\imgproc.hpp>


using namespace cv;

using namespace std;


int main() {


Mat src1 = imread("image/bike.jpg", CV_LOAD_IMAGE_COLOR);

Mat src2 = imread("image/holse.jpg", CV_LOAD_IMAGE_COLOR);

Mat dst;


int value;


resize(src1, src1, Size(src2.cols, src2.rows), 0, 0, 1);


namedWindow("Dissolve Image", CV_WINDOW_AUTOSIZE);


createTrackbar("혼합계수", "Dissolve Image", &value, 100);

setTrackbarPos("혼합계수", "Dissolve Image", 50);


while (true) {


value = getTrackbarPos("혼합계수", "Dissolve Image");

//계수값은 0 ~ 100이고 alpha는 0 ~ 1 값이므로 아래와 같이 처리해 줘야한다.

double alpha = (value / 100) + ((value % 100) * 0.01);

double beta = 1 - alpha;


addWeighted(src1, alpha , src2, beta, 0.0, dst);

imshow("Dissolve Image", dst);


if (waitKey(1) == 'q') break;

}


waitKey(0);

}