Loading
1244 字
6 分钟

古琴小程序开发记录:识谱页面终于有了第一个雏形

AI AI
AI 摘要

从一个按钮开始#

最近继续折腾我的古琴小程序。

前面更多时间都花在页面结构和整体功能规划上,但一直只有页面,没有真正让我觉得“这个东西已经开始能用了”的功能。

所以这次我决定先把重点放到 识谱页面 上。

我的想法很简单:

用户上传一张古琴琴谱图片,小程序识别图片中的琴谱内容,然后把结果展示出来。

真正做到完整识别当然还有很长一段路,但至少可以先把整个操作流程跑起来。

目前第一版已经有了一个比较完整的雏形。

现在已经能做什么#

目前识谱页面实现的流程是:

选择图片 → 显示图片 → 点击识别 → 显示识别结果

用户可以直接从相册选择图片,也可以调用手机摄像头拍摄。

小程序里我使用的是 wx.chooseMedia

wx.chooseMedia({
count: 1,
mediaType: ['image'],
sourceType: ['album', 'camera'],
success: (res) => {
const tempFilePath = res.tempFiles[0].tempFilePath
this.setData({
imagePath: tempFilePath,
result: ''
})
}
})

选择成功之后,会拿到一个临时图片路径:

const tempFilePath = res.tempFiles[0].tempFilePath

然后通过:

this.setData({
imagePath: tempFilePath
})

把图片路径保存到页面数据中。

这样页面就可以把用户刚刚选择的琴谱显示出来。

虽然只是很基础的一步,但当图片真正出现在页面上的时候,还是挺有“项目终于动起来了”的感觉。

“开始识别”现在还只是一个演示版#

图片上传之后,下一步自然就是点击“开始识别”。

目前我先写了一个简单的加载效果:

wx.showLoading({
title: '识别中'
})

然后暂时返回一段模拟识别结果。

现在的结果并不是真正通过算法得到的,而是为了先验证整个前端流程:

用户有没有上传图片?

按钮能不能正常点击?

识别的时候有没有加载提示?

识别结束后结果能不能正确显示?

这些功能确认没有问题以后,再把假的识别结果换成真正的后端返回数据。

以前写代码的时候,我经常想一次就把完整功能做完。

但现在慢慢发现,项目开发更适合一步一步来。

如果一开始同时写图片上传、Django 接口、图像处理和识别算法,一旦出错,很难判断到底是哪一层出了问题。

所以目前我的策略是:

先把前端做通,再做后端,最后接算法。

这样每一步都可以单独验证。

下一步:把图片真正传给 Django#

现在的识谱功能还全部发生在小程序前端。

真正完整的流程应该是:

微信小程序
用户选择琴谱图片
上传图片
Django 后端接收
识谱算法处理
返回识别结果
小程序展示结果

所以下一步我要做的,就是让小程序真正把图片发送到 Django。

第一版后端接口甚至不用马上做识谱。

可以先做到:

收到图片
返回文件名
返回图片大小
返回上传成功

只要这一层能够成功,就意味着:

微信小程序和 Django 后端之间的图片上传链路已经打通。

之后再慢慢把真正的琴谱识别算法接进去。

为什么我想做识谱这个功能#

相比小程序里的文章展示、每日一曲这些功能,我一直觉得“识谱”是整个项目里最有意思的一部分。

因为它不只是把已有内容展示给用户。

而是用户给系统一个输入,系统真正对这个输入进行处理,再返回新的结果。

这种交互会让整个小程序从一个“古琴资料展示工具”,慢慢变成一个真正有功能的应用。

当然,现在距离真正能够识别古琴谱还很远。

图像预处理怎么做?

琴谱符号怎么识别?

复杂版面怎么处理?

识别结果以什么形式展示?

这些问题后面都会慢慢遇到。

写在最后#

现在这个识谱页面还只能算一个很早期的版本。

甚至真正的识谱算法都还没有接进来。

但相比最开始只有一个“识谱”按钮,现在至少已经有了:

图片选择、图片预览、识别交互和结果显示。

从“我想做一个识谱功能”,到屏幕上真的出现一个可以操作的页面,中间其实就是很多这样不起眼的小步骤。

下一步:

让图片真正跑到 Django 后端。

等这一段跑通以后,再继续记录。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
古琴小程序开发记录:识谱页面终于有了第一个雏形
https://lululove.top/posts/guqin-notation-recognition-01/
作者
Lululove
发布于
2026-08-19
许可协议
CC BY-NC-SA 4.0

评论区

[ 公告 ]

欢迎来到 Lululove Blog。这里记录学习、项目与生活。

关于我
[ 音乐 ]
封面

音乐

暂未播放

0:00 0:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]
工具