1 #include<opencv2\opencv.hpp> 2 #include<iostream> 3 #include<vector> 4 using namespace cv; 5 using namespace std; 6 7 int main() { 8 Mat image = imread("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\05.jpg"); 9 Mat logo = imread("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\001.jpg"); 10 11 Mat imageROI = image(Rect(image.cols- logo.cols, image.rows- logo.rows, logo.cols, logo.rows)); 12 //Mat imageROI = image(Range(350,350+logo.rows),Range(800,800+logo.rows)); //效果同上 13 //将logo加到原图上 14 //addWeighted(imageROI, 1.0, logo, 1, 0., imageROI); 15 16 //使用掩模,效果同上 17 Mat mask = imread("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\001.jpg"); 18 logo.copyTo(imageROI,mask); 19 20 namedWindow("hah"); 21 imshow("hah",image); 22 23 imwrite("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\加logo的图.jpg",image); 24 waitKey(); 25 return 0; 26 }

本文详细介绍了如何使用OpenCV在一张图片上叠加另一张图片,包括读取图像、定义目标区域、使用掩模进行图像叠加及展示最终结果的完整过程。
3万+

被折叠的 条评论
为什么被折叠?



