到目前爲止,我已經設法使用蒙版並從第一個獲得第二個圖像。但我想要的是第二個圖像中的黑色區域是透明的(即我試圖獲得的輸出是第三個圖像)。下面是目前的代碼。請在這方面給我建議。獲取蒙面區域是否透明?
編輯:第三個是從Photoshop
//imwrite parameters
compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);
compression_params.push_back(100);
//reading image to be masked
image = imread(main_img, -1);
//CV_LOAD_IMAGE_COLOR
namedWindow("output", WINDOW_NORMAL);
//imshow("output", image);
//Creating mask image with same size as original image
Mat mask(image.rows, image.cols, CV_8UC1, Scalar(0));
// Create Polygon from vertices
ROI_Vertices.push_back(Point2f(float(3112),float(58)));
ROI_Vertices.push_back(Point2f(float(3515),float(58)));
ROI_Vertices.push_back(Point2f(float(3515),float(1332)));
ROI_Vertices.push_back(Point2f(float(3112),float(958)));
approxPolyDP(ROI_Vertices, ROI_Poly, 1, true);
// Fill polygon white
fillConvexPoly(mask, &ROI_Poly[0] , ROI_Poly.size(), 255, 8, 0);
//imshow("output", mask);
// Create new image for result storage
imageDest = cvCreateMat(image.rows, image.cols, CV_8UC4);
// Cut out ROI and store it in imageDest
image.copyTo(imageDest, mask);
imwrite("masked.jpeg", imageDest, compression_params);
imshow("output", imageDest);
cvWaitKey(0);
您可以[混合](http://docs.opencv.org/doc/tutorials/core/adding_images/adding_images.html)在OpenCV中和使用權重兩個圖像,以使它透明。 – GPPK 2015-02-10 07:53:07
@GPPK感謝您的回覆。是。爲此,我必須首先有一個透明的圖像。在這裏,我想要的是從第一個獲得像第三個圖像。混合可能嗎?如果是的話,請你指出正確的方向。 – 2015-02-10 08:00:34