天天看點

Python OpenCV 圖檔拆分與拼接

本文主要實作圖檔的簡單拼接與拆分

一、拆分

示例圖檔:

Python OpenCV 圖檔拆分與拼接

 拆分代碼如下:

主要思路:讀取圖檔後拆分為兩個矩陣,再顯示即可

import numpy as np
import cv2

path = './1.jpg'

img = cv2.imread(path)

# the image height
sum_rows = img.shape[0]
# the image length
sum_cols = img.shape[1]
part1 = img[0:sum_rows, 0:sum_cols // 2]
part2 = img[0:sum_rows, sum_cols // 2:sum_cols]

cv2.imshow('part1', part1)
cv2.imshow('part2', part2)

cv2.waitKey()
cv2.imwrite('1_1.jpg', part1)
cv2.imwrite('1_2.jpg', part2)
           
Python OpenCV 圖檔拆分與拼接
Python OpenCV 圖檔拆分與拼接

二、圖檔拼接

主要思路:分别讀取圖檔,建立一個目标像素大小的0矩陣,最後将讀取的圖檔替換建立矩陣中目标位置上的元素即可。

拼接代碼如下:

import numpy as np
import cv2
sum_rows = 1080
sum_cols = 1920
# new image
final_matrix = np.zeros((sum_rows, sum_cols, 3), np.uint8)

path1 = './1_1.jpg'
path2 = './1_2.jpg'

img1 = cv2.imread(path1)
img2 = cv2.imread(path2)


# change
final_matrix[0:sum_rows, 0:sum_cols // 2] = img1
final_matrix[0:sum_rows, sum_cols // 2:sum_cols] = img2

cv2.imshow('image', final_matrix)
cv2.waitKey()
           
Python OpenCV 圖檔拆分與拼接