Open P0etry-rain opened 4 months ago
太强了 收下我的膝盖,已置顶!
太强了 收下我的膝盖,已置顶!
感谢大佬捧场 只是做了一些微不足道的举手之劳
根据作者的方法,成功的复现了!!
第一张是生成的字,第二张是提供的字,第三张是之前生成的字
简单说一下规律,这个模型对笔画的宽度有着十分严格的限制,只要笔画宽了,就容易出“草书”
解决方法和楼主说的一样,笔宽12,画面100%
我是拿鼠标画的,就调整成,笔宽6,画面50%,这样就方便画一点
根据作者的方法,成功的复现了!! 第一张是生成的字,第二张是提供的字,第三张是之前生成的字
![]()
![]()
简单说一下规律,这个模型对笔画的宽度有着十分严格的限制,只要笔画宽了,就容易出“草书” 解决方法和楼主说的一样,笔宽12,画面100% 我是拿鼠标画的,就调整成,笔宽6,画面50%,这样就方便画一点
我感觉其实笔画宽不宽不重要,重要的是你得关掉压力渲染,维持笔画的宽度是均匀的。
根据作者的方法,成功的复现了!! 第一张是生成的字,第二张是提供的字,第三张是之前生成的字
![]()
![]()
简单说一下规律,这个模型对笔画的宽度有着十分严格的限制,只要笔画宽了,就容易出“草书” 解决方法和楼主说的一样,笔宽12,画面100% 我是拿鼠标画的,就调整成,笔宽6,画面50%,这样就方便画一点
我感觉其实笔画宽不宽不重要,重要的是你得关掉压力渲染,维持笔画的宽度是均匀的。
经过实测并不是仅仅需要关掉压低渲染,本人尝试各种数据 包括手写OCR,ipad采集,再加上sai ver.2,都有失败案例 使用sai ver.2 时,第一次并没有像楼主说的,画面100%,笔画12 而是选择了样本数据50,画面50%,笔画12,为了方便使用鼠标绘画 跑出的结果和手写OCR或ipad采集差距不大 第一次认为是字没有沾满整个背景,于是进行裁剪处理,跑出的结果更差了 于是推断和笔画宽度有直接联系,第二次选择画面50%,笔画6,样本数量30,数据结构非常完美
哈喽!这三张图我可以放在仓库主页的readme里面吗?我会详细注明图的来源!
哈喽!这三张图我可以放在仓库主页的readme里面吗?我会详细注明图的来源!
不胜荣幸 乐意至极
太强了! 另外比较好奇,使用sai写的这个过程是不是也可以在纸上手写再扫描代替?另外如果训练集的图片有噪点或者污渍等,对训练结果是否有影响
哈喽!这三张图我可以放在仓库主页的readme里面吗?我会详细注明图的来源!
不胜荣幸 乐意至极
已更新,增加了Practical Application章节!
太强了! 另外比较好奇,使用sai写的这个过程是不是也可以在纸上手写再扫描代替?另外如果训练集的图片有噪点或者污渍等,对训练结果是否有影响
可以看下这个issue#59 ,里面有你想了解的东西,背景噪声的影响还是比较大的。
哈喽!这三张图我可以放在仓库主页的readme里面吗?我会详细注明图的来源!
不胜荣幸 乐意至极
已更新,增加了Practical Application章节!
希望教程可以帮助到更多的人
你好,可以提供一下你做好的这数据集吗,我想做一下测试看程序有没有问题
大佬强啊,学习下,回去改改我的教程(这段时间忙着做大模型没时间看这个仓库
生成出来的,效果还可以欸
我直接用了Windows自带的画图,画布调成300*300,触屏写的(我华为电脑有触屏) 然后用了这段二值化py代码
from PIL import Image
import os
# 设置二值化阈值
threshold = 128
current_dir = os.getcwd()
for filename in os.listdir(current_dir):
if filename.endswith(('.jpg', '.png')):
img = Image.open(filename)
gray_img = img.convert('L')
binary_img = gray_img.point(lambda x: 255 if x > threshold else 0, '1')
binary_filename = filename.rsplit('.', 1)[0] + '_binary.' + filename.rsplit('.', 1)[1]
binary_img.save(binary_filename)
print(f"保存为:{binary_filename}")
try:
os.remove(filename)
print(f"已删除:{filename}")
except OSError as e:
print(f"无法删除 {filename}.{e.strerror}")
效果还挺可以
我整理了一下步骤,如果没有GPU想用cpu跑的朋友可以看看我的这篇cpu版教程 #56
大佬在图片转ttf的那块能不能更详细的讲下🙏
大佬在图片转ttf的那块能不能更详细的讲下🙏
已经很详细了 不过是png转svg再导入fontforge字体生成软件而已 没有什么需要特别注意的地方倒是
大佬在图片转ttf的那块能不能更详细的讲下🙏
已经很详细了 不过是png转svg再导入fontforge字体生成软件而已 没有什么需要特别注意的地方倒是
Part4那好像没看太懂,能不能分享下具体步骤,谢谢
大佬在图片转ttf的那块能不能更详细的讲下🙏
已经很详细了 不过是png转svg再导入fontforge字体生成软件而已 没有什么需要特别注意的地方倒是
Part4那好像没看太懂,能不能分享下具体步骤,谢谢
這位已經寫得很詳細了,不然你可以點進專案裡也有我寫的 readme 可以實踐一下。
大佬在图片转ttf的那块能不能更详细的讲下🙏
已经很详细了 不过是png转svg再导入fontforge字体生成软件而已 没有什么需要特别注意的地方倒是
想知道您那邊遇到不成功是哪裡沒安裝好呢?照理來說執行 npm install 就可以下載所有所需套件並正確生成字型的 svg 檔案了。另外也想請問您方便提供您的手寫數據圖像嗎?我想自行做個測試,謝謝!
大佬在图片转ttf的那块能不能更详细的讲下🙏
已经很详细了 不过是png转svg再导入fontforge字体生成软件而已 没有什么需要特别注意的地方倒是
想知道您那邊遇到不成功是哪裡沒安裝好呢?照理來說執行 npm install 就可以下載所有所需套件並正確生成字型的 svg 檔案了。另外也想請問您方便提供您的手寫數據圖像嗎?我想自行做個測試,謝謝!
好的,我一会试试。我把图像都打包在这了 1.zip 大佬测试完能不能把生成的字体文件给我,谢谢🙏(其实是懒得折腾了
大佬在图片转ttf的那块能不能更详细的讲下🙏
已经很详细了 不过是png转svg再导入fontforge字体生成软件而已 没有什么需要特别注意的地方倒是
想知道您那邊遇到不成功是哪裡沒安裝好呢?照理來說執行 npm install 就可以下載所有所需套件並正確生成字型的 svg 檔案了。另外也想請問您方便提供您的手寫數據圖像嗎?我想自行做個測試,謝謝!
好的,我一会试试。我把图像都打包在这了 1.zip 大佬测试完能不能把生成的字体文件给我,谢谢🙏(其实是懒得折腾了
1.zip 你所需要的文件, hello [chengtx809] ,可以把你的style_samples打个包发一下吗,我这儿不管怎么做都是草书
哈喽!这三张图我可以放在仓库主页的readme里面吗?我会详细注明图的来源!
不胜荣幸 乐意至极
已更新,增加了Practical Application章节!
希望教程可以帮助到更多的人
楼主,你的 手写训练集 可以发一下吗,我想测试一下到底和我的哪儿不同
好的,我要等到周末回到家才能发,我现在还在学校,数据在家里的电脑上(哭
大佬在图片转ttf的那块能不能更详细的讲下🙏
已经很详细了 不过是png转svg再导入fontforge字体生成软件而已 没有什么需要特别注意的地方倒是
想知道您那邊遇到不成功是哪裡沒安裝好呢?照理來說執行 npm install 就可以下載所有所需套件並正確生成字型的 svg 檔案了。另外也想請問您方便提供您的手寫數據圖像嗎?我想自行做個測試,謝謝!
好的,我一会试试。我把图像都打包在这了 1.zip 大佬测试完能不能把生成的字体文件给我,谢谢🙏(其实是懒得折腾了
1.zip 你所需要的文件, hello [chengtx809] ,可以把你的style_samples打个包发一下吗,我这儿不管怎么做都是草书
谢谢大佬做的ttf哈,已经用上了
简单说一下规律,这个模型对笔画的宽度有着十分严格的限制,只要笔画宽了,就容易出“草书” 解决方法和楼主说的一样,笔宽12,画面100% 我是拿鼠标画的,就调整成,笔宽6,画面50%,这样就方便画一点
确实,跟画笔的粗细关系很大。
第1张是按照说明,在sai里用二值笔,关闭压感,粗细为12,结果生成的还是很潦草的。
第2张,其它条件一样,就是把粗细调成3,生成的就不怎么潦草了。
第3张是在AI里,用相对细的线条写的,生成的也不怎么潦草了。
iPad端用Procreate写效果挺好的,然后用white背景输出,转到Notability里转为墨迹,就可以针对某些字精修了
iPad端用Procreate写效果挺好的,然后用white背景输出,转到Notability里转为墨迹,就可以针对某些字精修了
大佬,能发下手写的图片,以及生成的效果吗?
我用的是iPad 以及Apple Notes 中的第三只笔(书写时笔画宽度不变),笔画宽度选了最细,但生成的结果,虽然不再是狂草,但与输入的风格差异仍然非常大。 https://github.com/dailenson/SDT/issues/75#issuecomment-2165098676
简单说一下规律,这个模型对笔画的宽度有着十分严格的限制,只要笔画宽了,就容易出“草书” 解决方法和楼主说的一样,笔宽12,画面100% 我是拿鼠标画的,就调整成,笔宽6,画面50%,这样就方便画一点
确实,跟画笔的粗细关系很大。
第1张是按照说明,在sai里用二值笔,关闭压感,粗细为12,结果生成的还是很潦草的。
第2张,其它条件一样,就是把粗细调成3,生成的就不怎么潦草了。
第3张是在AI里,用相对细的线条写的,生成的也不怎么潦草了。
你好。你前面提到,笔画粗细一致且“够细“,生成的字符就不怎么潦草了,但是从你分享的图中看去,生成结果和输入的风格差异也是很大,想请教你找到原因了吗?
根据作者的方法,成功的复现了!! 第一张是生成的字,第二张是提供的字,第三张是之前生成的字
![]()
![]()
简单说一下规律,这个模型对笔画的宽度有着十分严格的限制,只要笔画宽了,就容易出“草书” 解决方法和楼主说的一样,笔宽12,画面100% 我是拿鼠标画的,就调整成,笔宽6,画面50%,这样就方便画一点
你好。从你分享的图中看去,生成结果和输入的风格差异也是很大,想请教你找到原因了吗?
您好,请问使用user_generate.py之后得到的模仿图片没有自己的书写风格是怎么回事呢?自己试了不同的风格样本,但是最后生成的图片都是一样的。确认风格样本和检查点文件路径都是正确的,运行也没有报错。希望能得到您的解答,非常感谢。
现阶段各个版本的,都达不到理想的效果,这个mdb文件里面的坐标怎么生成的呀,很想请教一下
现阶段各个版本的,都达不到理想的效果,这个mdb文件里面的坐标怎么生成的呀,很想请教一下
现阶段各个版本的,都达不到理想的效果,这个mdb文件里面的坐标怎么生成的呀,很想请教一下
感谢感谢,依赖库的安装太重要啦
请问第五步和第六步有啥区别?第五步生成的ttf字体怎么用到第六步里边呢?第六步的手写字体生成器也会生成手写字体
我的 png2ttf 程式如果有遇到問題的話可以去看一下置頂的 issue,基本上照著操作就可以了!謝謝各位的反饋。
我直接用了Windows自带的画图,画布调成300*300,触屏写的(我华为电脑有触屏) 然后用了这段二值化py代码
from PIL import Image import os # 设置二值化阈值 threshold = 128 current_dir = os.getcwd() for filename in os.listdir(current_dir): if filename.endswith(('.jpg', '.png')): img = Image.open(filename) gray_img = img.convert('L') binary_img = gray_img.point(lambda x: 255 if x > threshold else 0, '1') binary_filename = filename.rsplit('.', 1)[0] + '_binary.' + filename.rsplit('.', 1)[1] binary_img.save(binary_filename) print(f"保存为:{binary_filename}") try: os.remove(filename) print(f"已删除:{filename}") except OSError as e: print(f"无法删除 {filename}.{e.strerror}")
效果还挺可以
你这华为电脑是matebook16s i9-12900h的吧(几个月前似乎沟通过),能请教一下什么姿势咋写的吗,我始终找不到个好姿势
Part1.手写训练集
推荐使用Sai2
先更改Sai2手写笔按键设置 把按键改成激活橡皮擦
根据图片进行设置 尤其左边要关闭笔压(无笔压) 推荐配置如下![PixPin](https://github.com/dailenson/SDT/assets/52886465/122e4e92-3f17-414b-a784-9252ac274642)
然后写30-50个字 尽量让字在正中央 并保存为png或jpg到文件夹内![Handwrite1](https://github.com/dailenson/SDT/assets/52886465/926b49a7-e0f5-457a-9567-553292a0d473)
Part2.环境准备
以WSL2-Ubuntu 20.04.06LTS为例
安装完毕后重启一次终端 以刷新配置 重启后显示为
启动名为pytorch虚拟conda环境 推荐在pytorch虚拟conda环境下进行操作
conda配置和修改
安装pytorch
下载SDT-master
安装SDT-master所需依赖
下载checkpoint模型
https://www.123pan.com/s/TmBBjv-xDlaH.html
下载pkl文件
https://chengtx.lanpw.com/iDQqn1m7vyqh 密码:5qvj
完成后目录结构
Part3.模型训练
创建style_samples并把手写图片放入
假设checkpoint-iter199999.pth放置在checkpoint文件夹
手写图片在style_samples文件夹
完成后目录结果如下
运行训练命令
完成后目录如下
Part4.生成图处理
使用打包字體說明書https://github.com/chiaoooo/PngToTTF
pico文件夹中即为生成好的svg
Part5.TTF字体生成
安装FontForge 并在FontForge目录下创建一个SVG目录 并把生成好的svg放进去![fontforge2](https://github.com/dailenson/SDT/assets/52886465/2e8907ee-7071-47e7-bcfe-9bcd5920e683)
运行脚本![fontforge](https://github.com/dailenson/SDT/assets/52886465/bd6e995f-bdbb-465d-b989-5524caa126ac)
会弹出一些报错 大多能用 有空的话会把这一步优化一下 最后生成字体即可![TTF](https://github.com/dailenson/SDT/assets/52886465/c1b1667f-d158-44c7-806c-38e86e8ac2c4)
Part6.手写模拟生成
下载Release:https://github.com/kivvi3412/HandWrite 如果需要打印在A4纸上 推荐参数如下
设置如图所示![TEST2](https://github.com/dailenson/SDT/assets/52886465/9bd15b10-d543-44e1-b0f1-79ba886f3da7)
打印效果如下![TEST](https://github.com/dailenson/SDT/assets/52886465/ab0d6176-941b-4785-8b77-20ff2fa3732c)