0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用树莓派实现家用微信图片九宫格web服务器

安费诺传感器学堂 来源:安费诺传感器学堂 2023-12-22 13:39 次阅读

恰逢公司成立10周年,发短信以贺。

文字不多,上图片;一张不够,来九张?

太分散,那就用一大张分成九份——九宫格图片。

九宫格图片的实现九行python代码

逢年过节的,小编也是耐不住年底的凑那个热闹劲。

图片有了,以下测试代码中,长宽像素是3的倍数,比如1080x1080,这样每条边刚好3等分。

好像网上有工具,不过多需要提供你的个人信息以换取。小编个人信息不足为虑,但是心有不甘,干脆直接写个代码来实现。这里分享代码如下:

import cv2
import numpy as np


def split_image(image_path):
img=cv2.imread(image_path)#读取图片文件  -row-1
    imgheight=img.shape[0]        #读取图片的高度-row-2
imgwidth=img.shape[1]#读取图片的宽度-row-3


M=(imgheight//3#高度的1/3取整-row-4
N=imgwidth//3#宽度的1/3取整-row-5
    
#均分图片为9部分-row-6
    tiles = [img[x:x+M,y:y+N] for x in range(0,imgheight,M) for y in range(0, imgwidth, N)]


#将每部分图按序命名后保存,保存路径请自己设置
fori,tileinenumerate(tiles):#-row-7
cv2.imwrite("YourPathName/"+f"tile_{i}.png",tile)#-row-8


if __name__ == "__main__":
split_image("YourPathName/YourImageFile.png")#指定某个文件夹下的图片文件名,文件扩展名不限于png文件-row-9

需要安装python插件,那就简单安装:

pip install opencv-python

其他的如果需要,依葫芦画瓢进行安装。

如果图片的长宽刚好是3的倍数,那么运行该程序,会将原图等分成9份。否则生成的图片数量会多于9个。后续作为服务器的代码处理中,小编让图片的边长强制成为3的倍数后再分割。再次提醒大家测试前面的代码时,需要留意这个部分。

微信很少发,后续应该是将这9个分图(文件名中从0~8编号)按顺序插入你要发布的微信图框中(对应的1~9)就可以了。

效果如下:

图片编号和顺序

e0bd52c0-a081-11ee-8b88-92fbcf53809c.png

图片名称可以自己在代码中另外设定。按照当前的输出设置,编号及顺序从0~8如上图所示。

刚好要到年底,大家发短信更加频繁,小编后续也许会直接出一个可运行的窗口程序,这样打开程序,挑选文件和输出文件就可以更加方便处理了。不过手边放个电脑确实不太方便。

每个人手边电脑不一定一直有,但是手机一定有,单纯地用软件实现九宫格却不可能让每个人的拿着手机的同时还揣个电脑。想到之前公司的同事提供的一个树莓派,就拿它做个文章了。

如果用树莓派布置一个web服务器,由后台提供这个功能,前端登录后上传图片,然后拿到回传的九宫格图片,不就避免了很多麻烦?至少可以让全家共享了。

树莓派九宫格服务器

e0cedb44-a081-11ee-8b88-92fbcf53809c.png

step-1:树莓派建操作系统,建编程环境—乱是因为线多;

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

e0e37b08-a081-11ee-8b88-92fbcf53809c.jpg

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

e0eb73d0-a081-11ee-8b88-92fbcf53809c.png

其实也想到app或者微信小程序会提供便捷,但是注册之类的需要是否付费或者提供资质什么的让小编暂不考虑,关键还不会那玩意。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web服务器
    +关注

    关注

    0

    文章

    137

    浏览量

    24231
  • 树莓派
    +关注

    关注

    113

    文章

    1641

    浏览量

    104757

原文标题:树莓派实现家用微信图片九宫格web服务器

文章出处:【微信号:安费诺传感器学堂,微信公众号:安费诺传感器学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    九宫格如何解锁

    请问一下大家,安卓手机九宫格锁了怎么解锁,,,,小弟谢谢了
    发表于 03-06 17:55

    九宫格图标界面登陆与管理(类似手机界面)

    请问哪位大师可以推荐类似九宫格图标界面的登陆与管理的例程呢?
    发表于 10-08 11:48

    请教大家关于主框架的选择问题

    本帖最后由 chj722 于 2015-6-27 23:09 编辑 大家好,有个问题想请教。需要做一个程序,但是不知道用什么框架做比较好。界面是一个九宫格,代表8个方向,中间空的,方向与实物
    发表于 06-27 23:04

    树莓驱动玩具小卡车

    电池线第三步:高级版:电子元件第四步:3D打印部分的连接第五步:设置树莓第六步:装在卡车上第七步:实现I2C和为马达Pi Hat安装软件第八步:下载和设置键盘控制代码第
    发表于 12-29 14:10

    树莓媒体服务器——MiniDLNA

    成为可能。在这个教程我将向你展示如何用MiniDLNA做一个树莓媒体服务器,让你的照片、音乐和视频在网络流动。这里直接跳过树莓的设置与启
    发表于 01-19 14:35

    教你怎么用树莓构建外网可访问的微型服务器

    护照账号密码,点击登录接下来需要配置端口了。先要确定你的树莓在局域网内的IP,我这里是给它一个静态的IP:192.168.1.248然后按照下面列表添加端口添加好后,我们就来搭建树莓
    发表于 05-16 10:44

    j-link下载程序问题

    本帖最后由 九宫格 于 2016-6-8 14:13 编辑 在我使用j-link下载程序时,发现在keil4上直接用download可以下载,但是使用j-flash ARM 下载时却下载不了,配置设好,这是怎么回事?求大神解答
    发表于 06-08 13:40

    如何外网直接访问树莓派上搭建的服务器

    。我现在是可以通过先登陆树莓,再利用localhost:80的地址访问我的网页.但是我想能不能直接在外网通过输入网址访问。我试过远程端口转发将树莓
    发表于 07-04 17:55

    九宫格键盘 已实现、大写锁 、长按

    ` 本帖最后由 123abcfpga 于 2018-4-28 14:04 编辑 九宫格键盘实现字母输入大写锁长按等功能 提供源码源码获取:有偿1积分(资料太贵、积分又没有,只能靠发帖来维持维持生活了)`
    发表于 04-28 13:52

    51内核迪文串口屏模拟手势解锁功能(九宫格&滑动)

    实现,会更加美观;变量图标用于在判断为有效触控时,改变显示内容以达到提示的效果。 三、九宫格解锁实现方法详解3.1 主流程 3.2 解锁流程 3.3 设定密码流程 3.4 确认密码流程 四、滑动
    发表于 10-31 10:51

    Photoshop九宫格制作方法

    Photoshop分享 九宫格制作(升级)
    发表于 04-07 07:39

    求一种基于Qtopia的采用传统九宫格方式的中文输入法设计

    基于Qtopia的插件技术,实现了传统九宫格方式的中文拼音输入法,该输入法在输入中文时支持词语联想功能及用户输入高频词自适应功能。
    发表于 04-26 07:01

    如何实现对嵌入式WEB服务器系统的控制设计

    简单设计。本设计利用ARM 自带的WEB服务器技术,来实现对嵌入式WEB服务器系统的控制设计。该
    发表于 11-09 08:47

    如何实现树莓派定时拍摄照片上传到服务器的功能呢

    文章目录一、 概述二、相关环境及使用材料说明三、具体实现过程1.服务器代码2. 树莓客户端代码3.STM32部分代码四、演示效果图一、 概述采用
    发表于 02-16 06:46

    #深入浅出学习eTs#(十五)九宫格密码锁

    本项目Gitee仓地址:深入浅出eTs学习: 带大家深入浅出学习eTs (gitee.com)一、需求分析相信没有人没有使用过九宫格解锁吧,从智能机开始迸发的时期到现在,我们本期就要做一个自己
    发表于 12-29 13:55