赞
踩
关于 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);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。