グラフが描かれている画像を切り貼りしたいということですよね。
どこらへんまでの知識があるのかわからないので、少し詳し目に説明いたします。
[画像の切り取り] ⇒ (参考)https://qiita.com/yori1029/items/a0ddd25c9571b28f3e1c
・image2 = image1[(上端):(下端), (左端):(右端)]で、
image1を切り取り、image2に代入できます。
[画像の貼り付け] ⇒ (参考)https://www.mathpython.com/ja/opencv-image-add/
・image3[(上端):(下端), (左端):(右端)] = image2で、
image2をimage3の該当箇所に貼り付けられます。
例ですが、おおまかに以下のように画像を切り出したり、貼り付けたりできます。
その位置を適宜指定(leftとかrightとか書いているところ)すれば、
質問にあるような図も作成できます。
Python
1import cv2
2
3image1 = cv2.imread("ファイル名")
4
5image3 = np.zeros((500,500), dtype = np.uint8) # 真っ黒な画像を用意。ここに画像を貼り付けます。
6
7# 画像を切り取る
8left, right, top, bottom = [100, 200, 150, 250]
9image2 = image1[top:bottom, left:right]
10
11# 画像を貼り付ける
12left_, right_, top_, bottom_ = [10, 110, 200, 300]
13image3[top_:bottom_, left_:right_] = image2
14
15# 別のところを切り取る
16left, right, top, bottom = [0, 100, 0, 150]
17image2 = image1[top:bottom, left:right]
18
19# 画像を貼り付ける
20left_, right_, top_, bottom_ = [110, 210, 200, 350]
21image3[top_:bottom_, left_:right_] = image2
22
23
24cv2.imshow("a", image3) # 画像を表示する
25
26cv2.waitKey()
27cv2.destroyAllWindows()
28