-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLogo.cpp
More file actions
72 lines (49 loc) · 1.49 KB
/
Logo.cpp
File metadata and controls
72 lines (49 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "OpenCV_example.hpp"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include <vector>
using namespace cv;
int run4347()
{
// 载入图档
Mat image1 = imread("1.jpg");
Mat logo = imread("OpenCV_Logo_with_text.png");
Mat image = image1, opencvlogo;
// 缩小圆图成Size(80, 64)
resize(logo, opencvlogo, Size(80, 64));
namedWindow("Image 1", WINDOW_AUTOSIZE);
// 定义图有兴趣的区域(Region Of Interest, ROI)
Mat imageROI;
// Rect(x, y, col, row)
imageROI = image(Rect(420, 420, 80, 64));
imshow("Image 1", opencvlogo);
// 加入商标
addWeighted(imageROI, 1.0, opencvlogo, 0.3, 0., imageROI);
// 显示结果
namedWindow("with logo");
imshow("with logo", image);
/*
//Mat mask = imread("C:\\images\\OpenCV 2 Computer Vision\\logo.bmp", 0);
Mat mask = opencvlogo;
// logo用遮蔽方式复制给imageROI
logo.copyTo(imageROI, mask);
namedWindow("with logo 2");
imshow("with logo 2", image);
// 必须再次载入
logo = imread("C:\\images\\OpenCV 2 Computer Vision\\logo.bmp", 0);
image1 = imread("C:\\images\\OpenCV 2 Computer Vision\\boldt.jpg");
// 将图的三屏改成ㄧ屏
std::vector<Mat> channels;
split(image1, channels);
imageROI = channels.at(1);
addWeighted(imageROI(Rect(385, 270, logo.cols, logo.rows)), 1.0,
logo, 0.5, 0., imageROI(Rect(385, 270, logo.cols, logo.rows)));
merge(channels, image1);
namedWindow("with logo 3");
imshow("with logo 3", image1);
*/
waitKey();
return 0;
}
int (*run_logo)() =&run4347;