目录全方位提升 PaddleOCR 识别准确率方案一、图像预处理(提升效果最明显,零成本改代码)1. 尺寸缩放(核心)2. 灰度 / 二值化(票据、纸质文档专用)3. 去噪、锐化4. 矫正倾斜、去除阴影5. 禁用无用模块、开启方向分类二、DB 检测模型调参(解决漏检、文字框截断)常见问题对应调参三、识别 Rec 模型优化(核心文字解码)1. 选用更高精度预训练模型2. 字典匹配优化3. 过滤低置信结果四、后处理规则修正识别错误(低成本强力纠错)五、推理硬件与环境优化(间接保障准确率)CPU 版本GPU 版本(推荐高精度场景)六、进阶方案:自定义微调模型(终极提升)七、避坑:会大幅降低准确率的错误操作快速落地优化流程(按优先级执行)全方位提升 PaddleOCR 识别准确率方案分 5 大模块:图像预处理优化、模型选型、推理参数调优、后处理规则、环境 / 工程优化,贴合你 C++/Qt CPU/GPU 推理场景。一、图像预处理(提升效果最明显,零成本改代码)识别前对cv::Mat做处理,消除模糊、反光、倾斜、阴影,直接降低模型识别难度。1. 尺寸缩放(核心)DB 检测模型对小文字极不友好:原图短边小于 480:等比例放大到短边 480~960;原图长边大于 1920:缩小长边至 1920,防止显存 / 内存溢出、文字压缩模糊;cpp运行// 示例:限制图片长边最大1280 int max_len = 1280; float scale = 1.0f; if (std::max(img.cols, img.rows) max_len) scale = (float)max_len / std::max(img.cols, img.rows); cv::resize(img, img, cv::Size(img.cols*scale, img.rows*scale));2. 灰度 / 二值化(票据、纸质文档专用)纸质单据、复印文件有底色、噪点,二值化分离文字背景:cpp运行cv::Mat gray; cv::cvtColor(img, gray, cv::COLOR_BGR2GRAY); // 自适应二值,适配明暗不均 cv::adaptiveThreshold(gray, img, 255, cv::ADAPTIVE_THRESH_GAUSSIAN_C, cv::THRESH_BINARY_INV, 11, 2);3. 去噪、锐化高斯模糊去噪:cv::GaussianBlur(img, img, cv::Size(3,3), 1)去除拍照颗粒噪点;锐化强化文字边缘,模糊文字专用:cpp运行cv::Mat kernel = (cv::Mat_float(3,3) -0.5, -0.5, -0.5, -0.5, 5.0, -0.5, -0.5, -0.5, -0.5); cv::filter2D(img, img, -1, kernel);4. 矫正倾斜、去除阴影倾斜图片:调用cv::getRotationMatrix2D旋转摆正;阴影去除:分通道均衡化cv::createCLAHE,解决逆光、暗角文字看不清。5. 禁用无用模块、开启方向分类你代码里的FLAGS_cls不要关闭: 倾斜、倒置文字必须开启FLAGS_cls自动旋转 180° 矫正,否则 Rec 识别直接乱码。