比如下面的图片,他是由graphviz生成的

有什么方法可以把他转换成,或直接生成如下的形式吗
+-----------+
| h |---+
| | |
+-----------+ |
|
|
|
+----------+ |
| | |
| c | |
+----------+ |
^ |
| |
+--------+
要是能保留位置信息及其他属性就更好了
R有个叫Magick的包,不知道是否满足你的需求?
是把已有图片转换成一堆字符,就像这样:
好像还是分析graphviz生成的布局文件靠谱的吧
你是有 graphviz 源文件吗?那当然从源文件下手比较靠谱。
如果只有图片,得找找有哪些 OCR 工具对图表支持比较好的。
单纯的图片转文本应该比较容易,可以考虑 png → svg → ascii,估计难的是文字识别,何况你提供的是 jpg,上面的噪点都会被视为有效信息。
Visio 有个辅助工具可以导入图片编辑,没用过不知道做到哪种程度 https://dmitryivanov.net/image-converter-for-visio/
源文件是有的
直接生成字符画也可以 不一定要图片的
我要的是用程序自动生成 而不是用artist-mode手画
Graphviz and ascii output - Stack Overflow: Graphviz and ascii output - Stack Overflow
#+NAME: dot
#+BEGIN_EXAMPLE
digraph G {
h->c;
}
#+END_EXAMPLE
#+BEGIN_SRC sh :results raw replace output :var dot=dot
echo $dot | graph-easy --from=dot --as_ascii
#+END_SRC
#+RESULTS:
+---+
| h |
+---+
|
|
v
+---+
| c |
+---+
2 个赞
而且如果"graph-easy"处理的内容里有中文的话:
(shell-command-on-region "digraph G {拼->音;}" nil "graph-easy --as ascii")
还不能有效地对齐:
+---+
| 拼 |
+---+
|
|
v
+---+
| 音 |
+---+