OpenCV C++校正AI模型检测到的文本(OCR)

这个程序使用OpenCV校正AI模型检测到的文本,方便后续识别这些文本。

输入是《OpenCV C++基于AI模型的场景文本检测(OCR)-CSDN博客》检测到的多边形:

这两个多边形很明显是倾斜的,后续的识别模型无法识别这种倾斜的文本,所以需要校正。

程序运行后生成校正后的图片:

现在只关注英文的结果。这个图片太长了,不利于识别,所以把它分作三段:

把这三张图片用《OpenCV C++基于AI模型的场景文本识别(OCR)-CSDN博客》里的程序识别,就可以很轻松识别出来了:

detResults是场景文本检测输出的多边形

代码:

cpp 复制代码
void fourPointsTransform(const Mat& frame, const Point2f vertices[], Mat& result)
{
    const Size outputSize = Size(100, 32);

    Point2f targetVertices[4] = {
        Point(0, outputSize.height - 1),
        Point(0, 0), Point(outputSize.width - 1, 0),
        Point(outputSize.width - 1, outputSize.height - 1)
    };
    Mat rotationMatrix = getPerspectiveTransform(vertices, targetVertices);

    warpPerspective(frame, result, rotationMatrix, outputSize);
}

int main(){
    if (detResults.size() > 0) {
        Mat recInput = frame;
           
        std::vector< std::vector<Point> > contours;
        for (uint i = 0; i < detResults.size(); i++){
            const auto& quadrangle = detResults[i];
            CV_CheckEQ(quadrangle.size(), (size_t)4, "");

            contours.emplace_back(quadrangle);

            std::vector<Point2f> quadrangle_2f;
            for (int j = 0; j < 4; j++)quadrangle_2f.emplace_back(quadrangle[j]);

            Mat cropped;
            fourPointsTransform(recInput, &quadrangle_2f[0], cropped);

            imshow("cropped",cropped);
            waitKey();
        }
    }
}
相关推荐
csdn_aspnet8 分钟前
开源人工智能编码代理列表
人工智能·continue·cline·goose·aider·opencode·openhands
正经教主13 分钟前
AI提示词工程(高阶)第20课:编程领域专项提示词设计
人工智能
程序员-李俞17 分钟前
Mistral OCR 4真正改变的不是“识字”:文档AI正在变成Agent的数据入口
人工智能·windows·ai作画·aigc·ocr·ai编程·ai写作
新知图书19 分钟前
7.1 User特质的周期提取与自进化(智能体工程)
人工智能·agent·ai agent·智能体
阿里云大数据AI技术22 分钟前
免费领票!9月22日-24日,2026云栖大会杭州见
大数据·人工智能·agent
circuitsosk28 分钟前
AI输出的“质检员”:构建智能体质量评估、异常检测与人工兜底的三层防线
人工智能·python·microsoft·正则表达式·langchain
IvanCodes28 分钟前
我做了一个软著 Skill,可以一键生成申请材料
人工智能·agent
狂奔蜗牛(bradley)30 分钟前
RKNN‑Toolkit2 模型转换全流程
人工智能
双星系统34 分钟前
双臂机器人迎来广阔应用风口!既是工业柔性主力,也是人形机器人优质上肢配件
人工智能·机器人
羚羊角uou39 分钟前
【AI agent】RAG 全链路深度详解及RAG调优策略
人工智能