[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ankush-me--SynthText":3,"tool-ankush-me--SynthText":64},[4,17,26,40,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,2,"2026-04-03T11:11:01",[13,14,15],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":23,"last_commit_at":32,"category_tags":33,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,34,35,36,15,37,38,13,39],"数据工具","视频","插件","其他","语言模型","音频",{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":10,"last_commit_at":46,"category_tags":47,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,38,37],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[38,14,13,37],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":23,"last_commit_at":62,"category_tags":63,"status":16},2471,"tesseract","tesseract-ocr\u002Ftesseract","Tesseract 是一款历史悠久且备受推崇的开源光学字符识别（OCR）引擎，最初由惠普实验室开发，后由 Google 维护，目前由全球社区共同贡献。它的核心功能是将图片中的文字转化为可编辑、可搜索的文本数据，有效解决了从扫描件、照片或 PDF 文档中提取文字信息的难题，是数字化归档和信息自动化的重要基础工具。\n\n在技术层面，Tesseract 展现了强大的适应能力。从版本 4 开始，它引入了基于长短期记忆网络（LSTM）的神经网络 OCR 引擎，显著提升了行识别的准确率；同时，为了兼顾旧有需求，它依然支持传统的字符模式识别引擎。Tesseract 原生支持 UTF-8 编码，开箱即用即可识别超过 100 种语言，并兼容 PNG、JPEG、TIFF 等多种常见图像格式。输出方面，它灵活支持纯文本、hOCR、PDF、TSV 等多种格式，方便后续数据处理。\n\nTesseract 主要面向开发者、研究人员以及需要构建文档处理流程的企业用户。由于它本身是一个命令行工具和库（libtesseract），不包含图形用户界面（GUI），因此最适合具备一定编程能力的技术人员集成到自动化脚本或应用程序中",73286,"2026-04-03T01:56:45",[13,14],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":10,"env_os":94,"env_gpu":94,"env_ram":94,"env_deps":95,"category_tags":106,"github_topics":78,"view_count":23,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":107,"updated_at":108,"faqs":109,"releases":147},2118,"ankush-me\u002FSynthText","SynthText","Code for generating synthetic text images as described in \"Synthetic Data for Text Localisation in Natural Images\", Ankush Gupta, Andrea Vedaldi, Andrew Zisserman, CVPR 2016.","SynthText 是一款专为计算机视觉领域设计的开源工具，旨在自动生成带有逼真文本的自然场景图像。它主要解决了训练文字检测与识别模型时，高质量标注数据稀缺且人工标注成本高昂的痛点。通过合成技术，用户无需手动框选文字位置，即可批量获取包含精确深度信息、分割掩码及字符标注的训练样本。\n\n该工具特别适合 AI 研究人员、算法工程师及深度学习开发者使用，尤其是那些正在从事 OCR（光学字符识别）、场景文本定位或相关模型训练工作的团队。其核心技术亮点在于能够智能融合多种字体、背景纹理及光照条件，利用预学习的颜色模型和真实的场景深度图，生成在视觉上难以区分真假的合成数据。这种“以假乱真”的数据增强策略，能显著提升模型在复杂现实环境中的泛化能力。SynthText 基于 Python 开发，依赖 OpenCV、Pygame 等主流库，既支持直接下载预生成的百万级数据集，也允许用户自定义背景图和字体进行灵活扩展，是构建鲁棒性文本识别系统的高效助手。","# SynthText\nCode for generating synthetic text images as described in [\"Synthetic Data for Text Localisation in Natural Images\", Ankush Gupta, Andrea Vedaldi, Andrew Zisserman, CVPR 2016](https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fscenetext\u002F).\n\n\n**Synthetic Scene-Text Image Samples**\n![Synthetic Scene-Text Samples](samples.png \"Synthetic Samples\")\n\nThe code in the `master` branch is for Python2. Python3 is supported in the `python3` branch.\n\nThe main dependencies are:\n\n```\npygame==2.0.0, opencv (cv2), PIL (Image), numpy, matplotlib, h5py, scipy\n```\n\n### Generating samples\n\n```\npython gen.py --viz [--datadir \u003Cpath-to-dowloaded-renderer-data>]\n```\nwhere, `--datadir` points to the `renderer_data` directory included in the\n[data torrent](https:\u002F\u002Facademictorrents.com\u002Fdetails\u002F2dba9518166cbd141534cbf381aa3e99a087e83c).\nSpecifying this `datadir` is optional, and if not specified, the script will\nautomatically download and extract the same `renderer.tar.gz` data file (~24 M).\nThis data file includes:\n\n  - **sample.h5**: This is a sample h5 file which contains a set of 5 images along with their depth and segmentation information. Note, this is just given as an example; you are encouraged to add more images (along with their depth and segmentation information) to this database for your own use.\n  - **fonts**: three sample fonts (add more fonts to this folder and then update `fonts\u002Ffontlist.txt` with their paths).\n  - **newsgroup**: Text-source (from the News Group dataset). This can be subsituted with any text file. Look inside `text_utils.py` to see how the text inside this file is used by the renderer.\n  - **models\u002Fcolors_new.cp**: Color-model (foreground\u002Fbackground text color model), learnt from the IIIT-5K word dataset.\n  - **models**: Other cPickle files (**char\\_freq.cp**: frequency of each character in the text dataset; **font\\_px2pt.cp**: conversion from pt to px for various fonts: If you add a new font, make sure that the corresponding model is present in this file, if not you can add it by adapting `invert_font_size.py`).\n\nThis script will generate random scene-text image samples and store them in an h5 file in `results\u002FSynthText.h5`. If the `--viz` option is specified, the generated output will be visualized as the script is being run; omit the `--viz` option to turn-off the visualizations. If you want to visualize the results stored in  `results\u002FSynthText.h5` later, run:\n\n```\npython visualize_results.py\n```\n### Pre-generated Dataset\nA dataset with approximately 800000 synthetic scene-text images generated with this code can be found in the `SynthText.zip` file in the torrent [here](https:\u002F\u002Facademictorrents.com\u002Fdetails\u002F2dba9518166cbd141534cbf381aa3e99a087e83c); dataset detais\u002Fdescription in `readme.txt` file in the same torrent.\n\n### Adding New Images\nSegmentation and depth-maps are required to use new images as background. Sample scripts for obtaining these are available [here](https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Ftree\u002Fmaster\u002Fprep_scripts).\n\n* `predict_depth.m` MATLAB script to regress a depth mask for a given RGB image; uses the network of [Liu etal.](https:\u002F\u002Fbitbucket.org\u002Ffayao\u002Fdcnf-fcsp\u002F) However, more recent works (e.g., [this](https:\u002F\u002Fgithub.com\u002Firo-cp\u002FFCRN-DepthPrediction)) might give better results.\n* `run_ucm.m` and `floodFill.py` for getting segmentation masks using [gPb-UCM](https:\u002F\u002Fgithub.com\u002Fjponttuset\u002Fmcg).\n\nFor an explanation of the fields in `sample.h5` (e.g.: `seg`,`area`,`label`), please check this [comment](https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fissues\u002F5#issuecomment-274490044).\n\n### Pre-processed Background Images\n\nThe 8,000 background images used in the paper, along with their\nsegmentation and depth masks, are included in the [same\ntorrent](https:\u002F\u002Facademictorrents.com\u002Fdetails\u002F2dba9518166cbd141534cbf381aa3e99a087e83c)\nas the pre-generated dataset under the `bg_data` directory.  The files are:\n\n|    filenames    |                      description                     |\n|:--------------- |:---------------------------------------------------- |\n| `imnames.cp`    | names of images which do not contain background text |\n| `bg_img.tar.gz` | images (filter these using `imnames.cp`)             |\n| `depth.h5`      | depth maps                                           |\n| `seg.h5`        | segmentation maps                                    |\n\n[`use_preproc_bg.py`](https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fblob\u002Fmaster\u002Fuse_preproc_bg.py) provides sample code for reading this data.\n\nNote: We do not own the copyright to these images.\n\n### Generating Samples with Text in non-Latin (English) Scripts\n- @JarveeLee has modified the pipeline for generating samples with Chinese text [here](https:\u002F\u002Fgithub.com\u002FJarveeLee\u002FSynthText_Chinese_version).\n- @adavoudi has modified it for arabic\u002Fpersian script, which flows from right-to-left [here](https:\u002F\u002Fgithub.com\u002Fadavoudi\u002FSynthText).\n- @MichalBusta has adapted it for a number of languages (e.g. Bangla, Arabic, Chinese, Japanese, Korean) [here](https:\u002F\u002Fgithub.com\u002FMichalBusta\u002FE2E-MLT).\n- @gachiemchiep has adapted for Japanese [here](https:\u002F\u002Fgithub.com\u002Fgachiemchiep\u002FSynthText).\n- @gungui98 has adapted for Vietnamese [here](https:\u002F\u002Fgithub.com\u002Fgungui98\u002FSynthText).\n- @youngkyung has adapted for Korean [here](https:\u002F\u002Fgithub.com\u002Fyoungkyung\u002FSynthText_kr).\n- @kotomiDu has developed an interactive UI for generating images with text [here](https:\u002F\u002Fgithub.com\u002FkotomiDu\u002FGameSynthText).\n- @LaJoKoch has adapted for German [here](https:\u002F\u002Fgithub.com\u002FLaJoKoch\u002FSynthTextGerman).\n\n### Further Information\nPlease refer to the paper for more information, or contact me (email address in the paper).\n","# SynthText\n用于生成合成文本图像的代码，如论文《自然图像中文本定位的合成数据》（Ankush Gupta、Andrea Vedaldi、Andrew Zisserman，CVPR 2016）中所述。该论文链接为：[https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fscenetext\u002F](https:\u002F\u002Fwww.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fscenetext\u002F)。\n\n\n**合成场景文本图像示例**\n![合成场景文本样本](samples.png \"合成样本\")\n\n`master` 分支中的代码适用于 Python 2。Python 3 的支持则在 `python3` 分支中。\n\n主要依赖项包括：\n\n```\npygame==2.0.0, opencv (cv2), PIL (Image), numpy, matplotlib, h5py, scipy\n```\n\n### 生成样本\n\n```\npython gen.py --viz [--datadir \u003C下载的渲染器数据路径>]\n```\n其中，`--datadir` 指向包含在 [数据 torrent](https:\u002F\u002Facademictorrents.com\u002Fdetails\u002F2dba9518166cbd141534cbf381aa3e99a087e83c) 中的 `renderer_data` 目录。\n指定此 `datadir` 是可选的；若未指定，脚本将自动下载并解压相同的 `renderer.tar.gz` 数据文件（约 24 MB）。该数据文件包括：\n\n  - **sample.h5**：这是一个示例 h5 文件，包含 5 张图像及其深度和分割信息。请注意，这仅作为示例提供；建议您根据自身需求向此数据库添加更多图像及其对应的深度和分割信息。\n  - **fonts**：三个示例字体（您可以在此文件夹中添加更多字体，并更新 `fonts\u002Ffontlist.txt` 文件以包含这些字体的路径）。\n  - **newsgroup**：文本来源（来自 News Group 数据集）。您也可以使用任何其他文本文件代替。请查看 `text_utils.py` 文件，了解渲染器如何使用该文件中的文本。\n  - **models\u002Fcolors_new.cp**：颜色模型（前景\u002F背景文本颜色模型），基于 IIIT-5K 单词数据集学习得到。\n  - **models**：其他 cPickle 文件（**char_freq.cp**：文本数据集中每个字符的频率；**font_px2pt.cp**：各种字体的 pt 到 px 转换表）。如果您添加了新字体，请确保相应的模型已存在于此文件中；否则，可以通过修改 `invert_font_size.py` 文件来添加。\n\n该脚本将生成随机的场景文本图像样本，并将其存储在 `results\u002FSynthText.h5` 文件中。如果指定了 `--viz` 选项，则会在脚本运行时实时显示生成的输出；省略 `--viz` 选项则会关闭可视化功能。如果您希望稍后查看存储在 `results\u002FSynthText.h5` 中的结果，可以运行以下命令：\n\n```\npython visualize_results.py\n```\n\n### 预生成数据集\n使用此代码生成的约 80 万张合成场景文本图像的数据集，可在 [此处](https:\u002F\u002Facademictorrents.com\u002Fdetails\u002F2dba9518166cbd141534cbf381aa3e99a087e83c) 的 torrent 中找到 `SynthText.zip` 文件；数据集的详细信息和描述请参阅同一 torrent 中的 `readme.txt` 文件。\n\n### 添加新图像\n要将新图像用作背景，需要提供分割图和深度图。获取这些图的示例脚本可在 [这里](https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Ftree\u002Fmaster\u002Fprep_scripts) 找到。\n\n* `predict_depth.m` MATLAB 脚本，用于对给定的 RGB 图像回归深度掩码；该脚本使用 [Liu 等人](https:\u002F\u002Fbitbucket.org\u002Ffayao\u002Fdcnf-fcsp\u002F) 的网络。不过，更近期的研究成果（例如 [这里](https:\u002F\u002Fgithub.com\u002Firo-cp\u002FFCRN-DepthPrediction)）可能会带来更好的效果。\n* `run_ucm.m` 和 `floodFill.py` 用于借助 [gPb-UCM](https:\u002F\u002Fgithub.com\u002Fjponttuset\u002Fmcg) 获取分割掩码。\n\n有关 `sample.h5` 文件中各字段的说明（例如 `seg`、`area`、`label` 等），请参阅此 [评论](https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fissues\u002F5#issuecomment-274490044)。\n\n### 预处理过的背景图像\n\n论文中使用的 8,000 张背景图像及其对应的分割图和深度图，已包含在与预生成数据集相同的 [torrent](https:\u002F\u002Facademictorrents.com\u002Fdetails\u002F2dba9518166cbd141534cbf381aa3e99a087e83c) 中，位于 `bg_data` 目录下。文件列表如下：\n\n| 文件名          | 描述                                           |\n|-----------------|------------------------------------------------|\n| `imnames.cp`    | 不包含背景文本的图像名称                       |\n| `bg_img.tar.gz` | 图像（可通过 `imnames.cp` 进行筛选）             |\n| `depth.h5`      | 深度图                                         |\n| `seg.h5`        | 分割图                                         |\n\n[`use_preproc_bg.py`](https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fblob\u002Fmaster\u002Fuse_preproc_bg.py) 提供了读取这些数据的示例代码。\n\n注意：我们不拥有这些图像的版权。\n\n### 使用非拉丁（英语）文字生成样本\n- @JarveeLee 修改了生成中文文本样本的流程，详情请见 [这里](https:\u002F\u002Fgithub.com\u002FJarveeLee\u002FSynthText_Chinese_version)。\n- @adavoudi 修改了用于从右至左书写的阿拉伯语\u002F波斯语脚本的流程，详情请见 [这里](https:\u002F\u002Fgithub.com\u002Fadavoudi\u002FSynthText)。\n- @MichalBusta 将其适配到多种语言（如孟加拉语、阿拉伯语、中文、日语、韩语），详情请见 [这里](https:\u002F\u002Fgithub.com\u002FMichalBusta\u002FE2E-MLT)。\n- @gachiemchiep 为日语进行了适配，详情请见 [这里](https:\u002F\u002Fgithub.com\u002Fgachiemchiep\u002FSynthText)。\n- @gungui98 为越南语进行了适配，详情请见 [这里](https:\u002F\u002Fgithub.com\u002Fgungui98\u002FSynthText)。\n- @youngkyung 为韩语进行了适配，详情请见 [这里](https:\u002F\u002Fgithub.com\u002Fyoungkyung\u002FSynthText_kr)。\n- @kotomiDu 开发了一个交互式界面，用于生成带文本的图像，详情请见 [这里](https:\u002F\u002Fgithub.com\u002FkotomiDu\u002FGameSynthText)。\n- @LaJoKoch 为德语进行了适配，详情请见 [这里](https:\u002F\u002Fgithub.com\u002FLaJoKoch\u002FSynthTextGerman)。\n\n### 更多信息\n更多信息请参阅原文献，或直接联系我（邮箱地址见论文）。","# SynthText 快速上手指南\n\nSynthText 是一个用于生成合成场景文本图像的工具，广泛应用于文本检测与识别模型的训练数据增强。本项目基于 CVPR 2016 论文《Synthetic Data for Text Localisation in Natural Images》。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux \u002F macOS \u002F Windows\n- **Python 版本**：\n  - 主分支 (`master`)：支持 Python 2\n  - Python 3 分支 (`python3`)：支持 Python 3（推荐）\n\n### 前置依赖\n请确保已安装以下 Python 库：\n```bash\npygame==2.0.0 opencv-python pillow numpy matplotlib h5py scipy\n```\n\n> **国内加速建议**：推荐使用清华或阿里云镜像源安装依赖，以提升下载速度。\n> ```bash\n> pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple pygame==2.0.0 opencv-python pillow numpy matplotlib h5py scipy\n> ```\n\n## 安装步骤\n\n1. **克隆仓库**\n   推荐使用支持 Python 3 的分支：\n   ```bash\n   git clone -b python3 https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText.git\n   cd SynthText\n   ```\n\n2. **安装依赖**\n   ```bash\n   pip install -r requirements.txt\n   ```\n   *注：若仓库中无 `requirements.txt`，请手动执行上述“前置依赖”中的安装命令。*\n\n3. **获取渲染数据（可选）**\n   脚本运行时会自动下载约 24MB 的 `renderer.tar.gz` 数据文件（包含示例图片、字体、文本源等）。\n   \n   若需手动下载以加速或离线使用，可从学术种子链接下载 `renderer_data` 目录，并在运行命令中指定路径。\n\n## 基本使用\n\n### 生成合成样本\n运行以下命令即可生成随机场景文本图像，结果将保存至 `results\u002FSynthText.h5`：\n\n```bash\npython gen.py --viz\n```\n\n- `--viz`：开启实时可视化预览生成的图像。若无需预览（如批量生成），可 omit 此参数。\n- `--datadir \u003Cpath>`：指定本地已下载的 `renderer_data` 目录路径（可选）。\n\n### 查看已生成的结果\n若之前未开启可视化，后续可通过以下脚本查看 `results\u002FSynthText.h5` 中的结果：\n\n```bash\npython visualize_results.py\n```\n\n### 输出说明\n生成的 `.h5` 文件中包含合成图像及其对应的深度图、分割掩码和文本标注信息，可直接用于训练文本检测模型。","某计算机视觉团队正在研发一款用于识别街头招牌和文档文字的 OCR 系统，但面临真实场景标注数据严重不足的困境。\n\n### 没有 SynthText 时\n- **数据采集成本高昂**：团队需派人实地拍摄数万张不同光照、角度和背景的文字照片，耗时数月且覆盖场景有限。\n- **人工标注效率极低**：每张包含复杂背景的图片都需要人工逐字框选并转录内容，标注错误率高且难以规模化。\n- **模型泛化能力差**：由于训练数据缺乏多样性（如极端倾斜、模糊或特殊字体），模型在遇到未见过的真实场景时识别率大幅下降。\n- **长尾场景缺失**：难以收集到罕见字体、生僻字或特殊语言组合的样本，导致系统在特定垂直领域表现糟糕。\n\n### 使用 SynthText 后\n- **无限生成训练样本**：利用 SynthText 结合深度图与分割掩码，自动合成数百万张具有逼真背景、任意字体和扭曲效果的文字图像，瞬间扩充数据集。\n- **自带完美标注信息**：生成的每张图像天然附带精确的字符级边界框和文本内容标签，彻底免除人工标注环节，实现“零成本”数据准备。\n- **覆盖极端边缘案例**：通过调整参数模拟各种恶劣条件（如强光反射、运动模糊、极度透视变形），显著提升了模型在复杂环境下的鲁棒性。\n- **灵活定制数据分布**：团队可轻松导入特定行业的专有字体或术语库，针对性地生成稀缺样本，快速补齐模型在长尾场景的能力短板。\n\nSynthText 通过将繁琐的数据采集与标注转化为自动化代码流程，以极低成本解决了深度学习模型对大规模高质量标注数据的依赖难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fankush-me_SynthText_bbb5df98.png","ankush-me","Ankush Gupta","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fankush-me_84a62803.jpg",null,"http:\u002F\u002Fwww.robots.ox.ac.uk\u002F~ankush","https:\u002F\u002Fgithub.com\u002Fankush-me",[82,86],{"name":83,"color":84,"percentage":85},"Python","#3572A5",96.1,{"name":87,"color":88,"percentage":89},"MATLAB","#e16737",3.9,2140,627,"2026-04-05T13:31:56","Apache-2.0","未说明",{"notes":96,"python":97,"dependencies":98},"该工具主要用于生成合成文本图像。运行脚本时若未指定本地数据目录，将自动下载约 24MB 的渲染器数据（包含样本图像、字体、文本源和颜色模型）。如需添加新背景图像，需额外准备分割图和深度图（提供有 MATLAB 和 Python 脚本参考）。项目针对不同语言（如中文、阿拉伯语等）有社区维护的修改版本。注意：预处理的背景图像版权归属原所有者，非本项目所有。","Python 2 (master 分支) 或 Python 3 (python3 分支)",[99,100,101,102,103,104,105],"pygame==2.0.0","opencv (cv2)","PIL (Image)","numpy","matplotlib","h5py","scipy",[14,34],"2026-03-27T02:49:30.150509","2026-04-06T11:30:51.397043",[110,115,120,125,130,134,139,143],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},9738,"生成的图像中文本显示被截断或不完整怎么办？","这通常是由于 pygame 版本过高导致的兼容性问题。代码在 pygame 版本 \u003C= 1.9.6 时运行正常。请尝试降级 pygame 到 1.9.6 或更低版本：\npip install pygame==1.9.6\n如果未来需要支持更高版本，需等待项目更新适配。","https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fissues\u002F206",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},9739,"无法下载预处理背景图像（如 bg_img.tar.gz, depth.h5 等）怎么办？","服务器运行了 fail2ban 安全机制，如果连接被拒绝，可能是触发限制。建议等待 15 分钟后再试。如果仍然失败（如 Connection refused），可能是服务器端临时故障，维护者通常会修复，请稍后重试或使用 wget -c 命令断点续传：\nwget -c http:\u002F\u002Fthor.robots.ox.ac.uk\u002F~vgg\u002Fdata\u002Fscenetext\u002Fpreproc\u002Fbg_img.tar.gz","https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fissues\u002F79",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},9740,"如何生成垂直文本（竖排文字）的数据集？","有两种主要方法：\n1. 修改代码：调整 text_utils.py 中的 render_multiline 和 render_sample 函数，改变字符排列逻辑，将水平坐标累加改为垂直坐标累加。\n2. 使用特殊字体：不修改代码，直接生成或使用已经设计为垂直排列的字体文件，让渲染引擎自然输出竖排效果。","https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fissues\u002F114",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},9741,"如何添加自己的图片到 dest.h5 数据集中？","需要使用 h5py 库操作 HDF5 文件。基本步骤是打开 h5 文件，创建新的数据集或将图像数组写入现有数据集。注意图像数据的形状和类型（如 float32）。如果是深度图，可能包含多个通道（例如两个不同神经网络估计的深度），提取时需遍历键名并保存：\nimport h5py\nimport cv2\nwith h5py.File('depth.h5', 'r') as hf:\n    for imagename in hf.keys():\n        img_arr = hf[imagename][()]\n        cv2.imwrite(f\"output\u002F{imagename}\", img_arr)","https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fissues\u002F5",{"id":131,"question_zh":132,"answer_zh":133,"source_url":129},9742,"运行脚本时出现 \"ValueError: a must be 1-dimensional or an integer\" 错误如何解决？","该错误发生在 text_utils.py 的 sample_weighted 函数中，通常是因为传入 np.random.choice 的概率列表 p 或选项列表格式不正确。检查 self.p_text 是否为合法的一维列表或数组，确保没有嵌套结构。可能需要重新初始化配置或检查字体\u002F文本类型权重的定义是否正确。",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},9743,"如何使用该项目生成中文或其他非拉丁语系的文本图像？","原生项目主要针对英文设计，但可以通过以下方式支持中文：\n1. 替换词表：将默认的英文单词列表替换为中文词汇列表。\n2. 使用中文字体：确保系统安装了支持中文的字体文件，并在配置中指定。\n3. 参考社区版本：可以使用社区维护的中文适配版（如 SynthText_Chinese_version），其中已处理了换行、字距和字体渲染等针对中文的优化。","https:\u002F\u002Fgithub.com\u002Fankush-me\u002FSynthText\u002Fissues\u002F11",{"id":140,"question_zh":141,"answer_zh":142,"source_url":129},9744,"如何在 Ubuntu 上生成 .mat 文件并转换为 .h5 文件？","生成 .mat 文件通常需要在 Ubuntu 上运行 MATLAB 脚本（如 install.m 和相关的预处理脚本）。如果遇到数据库路径警告（如 Pascal2012, COCO 未找到），需修改配置文件指向正确的数据路径。转换 .mat 到 .h5 可使用 Python 的 scipy.io 和 h5py 库读取 mat 文件内容并写入 h5 文件。注意并行循环（parfor）中的临时变量问题，确保变量在循环内正确赋值。",{"id":144,"question_zh":145,"answer_zh":146,"source_url":124},9745,"如何生成直线文本而不是弯曲文本？","默认配置可能会生成带曲率的文本。要生成直线文本，需修改 text_utils.py 中的渲染逻辑，移除或重置曲线偏移量（curve[i]）和旋转角度（rots[i]）。确保 newrect 的位置计算仅基于前一个字符的边界框线性累加，不添加额外的垂直偏移或旋转参数。",[]]