游乐游手机版
首页/AI热点日报/热点详情

树莓派搭建家用微信图片九宫格Web服务器

类型:热点整理2026-07-21
恰逢公司成立十周年,发条信息以示祝贺。文字不多,那就上图吧。一张不够?来九张。可九张又太分散,于是就有了把一张大图分成九份的经典操作——九宫格图片。 年底了,谁不想凑个热闹呢?只要图片准备好,再配合一段Python代码,就能轻松搞定。测试用的图片长宽像素最好是3的倍数,比如1080×1080,这样每

恰逢公司成立十周年,发条信息以示祝贺。文字不多,那就上图吧。一张不够?来九张。可九张又太分散,于是就有了把一张大图分成九份的经典操作——九宫格图片。

年底了,谁不想凑个热闹呢?只要图片准备好,再配合一段Python代码,就能轻松搞定。测试用的图片长宽像素最好是3的倍数,比如1080×1080,这样每条边刚好三等分。网上其实有不少在线工具,但大多需要你提供个人信息才能用。虽然个人信息不值一提,但心里总归不太舒服,索性自己写段代码来省事。代码分享如下:

import cv2
import numpy as np

def split_image(image_path):
    img = cv2.imread(image_path)               # 读取图片文件
    imgheight = img.shape[0]                   # 图片高度
    imgwidth = img.shape[1]                    # 图片宽度
    M = imgheight // 3                         # 高度三等分取整
    N = imgwidth // 3                          # 宽度三等分取整
    # 将图片均分为9部分
    tiles = [img[x:x+M, y:y+N] for x in range(0, imgheight, M) for y in range(0, imgwidth, N)]
    # 按序命名并保存,保存路径请自行设置
    for i, tile in enumerate(tiles):
        cv2.imwrite("YourPathName/" + f"tile_{i}.png", tile)

if __name__ == "__main__":
    split_image("YourPathName/YourImageFile.png")  # 指定图片文件路径,扩展名不限于png

需要安装Python插件,执行一行命令即可:

pip install opencv-python

如果有其他依赖,依葫芦画瓢安装就行。

如果图片的长宽正好是3的倍数,程序会将原图等分成9份;否则生成的图片数量会多于9个。在后端服务器代码中,会让图片边长强制调整为3的倍数后再分割。因此测试时请留意这个细节。

微信朋友圈发图时,通常需要按顺序插入1~9个格子,只要把生成的9个分图(文件名0~8编号)按顺序对应放进去即可。

效果如下:

图片编号与顺序

图片名称可在代码中自行设定。按照当前输出设置,编号从0到8,如上图所示。

年底发信息更加频繁,后续或许会出一个可运行的窗口程序,打开程序、选文件、输出结果,一步到位。不过手边放台电脑确实不太方便。

电脑不一定随时在身边,但手机肯定有。单纯靠软件实现九宫格,却不可能让每个人在拿着手机的同时还揣着电脑。想到之前同事提供的一块树莓派,不如用它来做个文章。

树莓派九宫格服务器

step-1:树莓派装操作系统、搭编程环境——线多显得有些乱;

step-2:编写调试前后端代码;

step-3:运行web服务,用手机登录页面,从相册或文件夹里选图片即可。

其实也想过做App或微信小程序会更方便,但注册、资质、付费等问题暂时不考虑,关键还不会那玩意儿。用树莓派搭一个简单的Web服务器,后台提供切图功能,前端上传图片就能拿到九宫格结果,全家都能共享,省心不少。

来源:https://m.elecfans.com/article/2347119.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。