当前位置:   article > 正文

java 表格识别_OpenCV3 识别图中表格-JAVA 实现

java 识别图片里的表格

关于 JAVA 学习 OpenCV 的内容,函数讲解。内容我均整理在 GitHubd的OpenCV3-Study-JAVA

OpenCV 3 识别图中表格-Java 实现

1. 说明

网上大部分资料,都是针对 C++的,python、java 的例子太少了。所以最近在做这个的时候,把他记录下来,也可以帮助一些人少走弯路。

OpenCV 确实强大,强大到每一个方法,都能 google 到一篇专题文章,在写的过程中,参考了许多资料,最终完成了实现和注释。

但是这仅仅是入门,找到表格后的利用才是后面的核心。比如:

表格的 OCR 识别,识别表头,内容数据,形成结构化数据。

图片按照顺序,转 Word文档或者保存为 html,这样就可以完成格式的转化,方便在 web 端查看,用户下载。

其他利用...

本文仅针对效果较好的,无倾斜,背景干净的图片进行识别。复杂的情况会可能无法满足,需要进一步处理。仅仅是个入门。

2. 开发环境

macOS Sierra 10.12.4

IntelliJ IDEA 2017

Junit 4.12

JDK 1.8

因为在 mac 下通过 brew 安装的 opencv ,所以包都是跟当前系统匹配的,安装目录也是一致的。

Windows 下需要根据自己的系统环境,位数,修改代码的loadLibraries,决定加载的动态库文件。

3. 代码实现

import org.junit.Test;

import org.opencv.core.*;

import org.opencv.imgcodecs.Imgcodecs;

import org.opencv.imgproc.Imgproc;

import org.opencv.objdetect.CascadeClassifier;

import java.io.File;

import java.util.*;

/**

* @Author : alexliu

* @Description : opencv 测试

* @Date : Create at 下午3:12 2018/1/26

*/

public class TestOpenCV {

String test_file_path = System.getProperty("user.dir") + File.separator + "testFiles";

static {

//加载动态链接库时,不使用System.loadLibrary(xxx);。 而是使用 绝对路径加载:System.load(xxx);

/*

* 加载动态库

*

* 第一种方式 --------------System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

* loadLibrary(Core.NATIVE_LIBRARY_NAME); //使用这种方式加载,需要在 IDE 中配置参数.

* Eclipse 配置:http://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html#set-up-opencv-for-java-in-eclipse

* IDEA 配置 :http://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html#set-up-opencv-for-java-in-other-ides-experimental

*

* 第二种方式 --------------System.load(path of lib);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/273098
推荐阅读
相关标签
  

闽ICP备14008679号