ROI线性加权addweighted

//图像-感兴趣区域加权
//图像-线性加权
//图像-感兴趣区域线性加权
#include
#include
using namespace cv;
using namespace std;
bool ROIaddweighted()
{
Mat dota = imread("D:\\dota.jpg");
Mat dotaLogo = imread("D:\\dotaLogo.jpg");
Mat ROIdota = dota(Rect(50, 50, dotaLogo.cols, dotaLogo.rows));
Mat mask = imread("D:\\dotaLogo.jpg");
dotaLogo.copyTo(ROIdota, mask);//将掩模的像素copy到感兴趣区域中
imshow("感兴趣区域加权", dota);
waitKey(0);
return true;
}
bool linearAddweighted()
{
Mat dota = imread("D:\\dota.jpg");
Mat background = imread("D:\\background.jpg");
addWeighted(background, 0.6, dota, 0.4, 0.0, background);
imshow("线性加权", background);
waitKey(0);
return true;
}
bool ROIlinearAddweighted()
{
Mat dota = imread("D:\\dota.jpg",0);
Mat dotaLogo = imread("D:\\dotaLogo.jpg",0);
Mat ROIdota = dota(Rect(400, 150, dotaLogo.cols, dotaLogo.rows));
addWeighted(ROIdota, 0.6, dotaLogo, 0.4, 0.0, ROIdota);
imshow("感兴趣区域线性加权", dota);
waitKey(0);
return true;
}
int main()
{
if (ROIaddweighted())
{
cout << endl << "感兴趣区域加权";
}
if (linearAddweighted())
{
cout << endl << "线性加权";
}
if (ROIlinearAddweighted())
{
cout << endl << "感兴趣区域线性加权";
}
return 0;
}

你可能感兴趣的:(openCV)