大家好我想实现这样一个效果

img

大家好 我想实现这样一个图片展示的效果,中间是原图,周围四张图代表的是四种不同的的效果,再加上个背景图,想用python语言实现,或者是一些数据可视化大屏工具也可以。

纯numpy数组切片以及照片缩放实现,应博友要求,周围4张显示了 原始图转换后的HSV颜色空间图,中间显示了原始图。

img

# 纯numpy实现背景图及拼图
import cv2

import imutils

# 背景边框大小
# 每张图片大小
# 9宫格图片之间的缝隙
border = 100
img_size = 200
img_gap = 50
bg_size = img_size * 3 + img_gap * 2 + border * 2

bg_img = cv2.imread("images/bg.jpg")
bg_img = cv2.resize(bg_img, (bg_size, bg_size))

# 读取照片
img = cv2.imread("images/yl_300.jpg")
# 缩放照片为宽度*高度
img = cv2.resize(img, (img_size, img_size))

for i in range(3):
    for j in range(4)[1:]:
        t = i * 3 + j
        # print(i, j, t)
        # print(border + i * (img_size + img_gap), border + (i + 1) * (img_size) + i * img_gap,
        #       border + (j - 1) * (img_size + img_gap), border + j * img_size + (j - 1) * img_gap)
        if (t == 2 or t == 4 or t == 6 or t == 8):
            continue

        # 读取照片,并缩放其大小为img_size*img_size
        img = cv2.imread("images/yl_300.jpg")
        img = cv2.resize(img, (img_size, img_size))

        if t != 5:
            img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

        # 计算要替换的照片高度:高度,宽度:宽度
        bg_img[border + i * (img_size + img_gap): border + (i + 1) * (img_size) + i * img_gap,
        border + (j - 1) * (img_size + img_gap):border + j * img_size + (j - 1) * img_gap] = img
        cv2.imshow("img_" + str(t), bg_img)
        # cv2.waitKey(0)

# 保留宽高比的缩放照片为宽度500像素
bg_img = imutils.resize(bg_img, width=500)
cv2.imshow("res", bg_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

不同的效果具体是什么效果