6. 디졸브와 트랙바
#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);
}