# d2d **Repository Path**: liheeli/d2d ## Basic Information - **Project Name**: d2d - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 学号:202452320111 ## 姓名:李衡 # DIP项目03:训练书法字体图像获取 从书法字帖图片中提取单个汉字图像,使用图像滤波和图像特征提取技术,通过检测字帖的网格结构,定位并裁剪出每个汉字。 ## 环境依赖 - Python 3.x - OpenCV (`opencv-python`) - NumPy ## 使用方法 ```bash python extract_chars.py ``` ## 处理流程 ### 步骤1:原图 → 灰度图 读取字帖图片 `hanzi1.jpg`。 ![原图→灰度图](step1_gray.png) ### 步骤2:全局阈值处理 → 二值化图 将彩色图像转为灰度图,经高斯滤波去噪后,使用 Otsu 自动阈值算法进行二值化。 ![灰度图与二值化](step2_gray_binary.png) ### 步骤3:应用腐蚀操作 → 去除噪点 使用 5×5 矩形核进行腐蚀操作,去除小的白色噪点。 ![腐蚀](step3_erode.png) ### 步骤4:应用膨胀操作 → 突出图像特征 → 中值滤波去除小白点 使用 5×5 矩形核进行膨胀操作,恢复和突出字符笔画特征,再用 3×3 核进行中值滤波,去除残留的小白点噪。 ![膨胀+中值滤波](step4_final.png) ### 步骤5:应用闭运算 → 填充闭合区域 使用 9×9 矩形核进行闭运算,填充字符内部的空洞和断裂笔画。 ![闭运算](step5_close.png) ### 步骤6:Canny 边缘检测 使用 Canny 算子进行边缘检测,参数为 threshold1=50, threshold2=150。 ![Canny](step6_canny.png) ### 步骤7:识别结果 → 提取字符 根据检测到的网格线位置,将图片分割为网格单元,计算每个格子中前景像素占比,过滤空白格子,提取有效字符图像保存到 `chars/` 目录。 ![识别结果](step7_result.png) ## 提取统计 - 网格结构: 10 行 × 7 列 - 有效字符: 61 个 - 保存目录: `chars/char_001.jpg` ~ `char_061.jpg`