Python OpenCV 图片拆分与拼接

576 阅读1分钟

本文主要实现图片的简单拼接与拆分

一、拆分

示例图片:

 

 拆分代码如下:

主要思路:读取图片后拆分为两个矩阵,再显示即可

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)

    

 

二、图片拼接

主要思路:分别读取图片,新建一个目标像素大小的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()