资源简介
Java简单实现类似“全能扫描王”的功能,使用OpenCV实现。项目中包含了opencv_java343.dll动态链接库,在dll文件夹中,需要在eclipse中引入
代码片段和文件信息
package com.rwzhang.imageExtract;
import static com.rwzhang.imageExtract.constants.Constants.PI;
import static com.rwzhang.imageExtract.constants.Constants.TMP_FOLDER;
import static com.rwzhang.imageExtract.utils.Utils.output;
import java.util.ArrayList;
import java.util.List;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
import org.opencv.core.MatOfPoint2f;
import org.opencv.core.Point;
import org.opencv.core.RotatedRect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import com.rwzhang.imageExtract.entity.VertexAngle;
import com.rwzhang.imageExtract.utils.ImageUtil;
/**
*
* @author rwzhang
*
*/
public class Extract {
public void extract(String input String output){
int i = 1;
Mat src = Imgcodecs.imread(input);
Mat dst = new Mat();
//Imgproc.pyrMeanShiftFiltering(src dst 50 10);//均值偏移
//output(TMP_FOLDER + “/0_meanshift.jpg“ dst);
Mat kernel = new Mat(3 3 CvType.CV_32Fnew Scalar(-1));
kernel.put(1 1 8.9);
Imgproc.filter2D(src dst src.depth()kernel);//锐化
output(TMP_FOLDER + “/“ + (i++) + “_sharpening.jpg“ dst);
Imgproc.cvtColor(dst dst Imgproc.COLOR_RGB2GRAY);//灰度化
output(TMP_FOLDER + “/“ + (i++) + “_gray.jpg“ dst);
//Imgproc.equalizeHist(dst dst);//直方图均衡化
//output(TMP_FOLDER + “/“ + (i++) + “_equalizeHist.jpg“ dst);
ImageUtil.gammaCorrection(dst dst 0.8f);//gamma校正
output(TMP_FOLDER + “/“ + (i++) + “_gamma.jpg“ dst);
Imgproc.GaussianBlur(dst dst new Size(5 5) 0 0);//高斯滤波
output(TMP_FOLDER + “/“ + (i++) + “_gaussianBlur.jpg“ dst);
Imgproc.threshold(dst dst 0 255 Imgproc.THRESH_OTSU + Imgproc.THRESH_BINARY);//二值化
output(TMP_FOLDER + “/“ + (i++) + “_thresholding.jpg“ dst);
Mat element = Imgproc.getStructuringElement(Imgproc.MORPH_RECT new Size(3 3));
//Imgproc.dilate(dst dst element);//膨胀
//output(TMP_FOLDER + “/“ + (i++) + “_dilate.jpg“ dst);
Imgproc.morphologyEx(dst dst Imgproc.MORPH_CLOSE element);//闭运算
output(TMP_FOLDER + “/“ + (i++) + “_morph_close.jpg“ dst);
Imgproc.erode(dst dst element);//腐蚀
output(TMP_FOLDER + “/“ + (i++) + “_erode.jpg“ dst);
Imgproc.Canny(dst dst 30 120 3);//边缘检测
output(TMP_FOLDER + “/“ + (i++) + “_canny.jpg“ dst);
//查找轮廓
List f_contours = new ArrayList();
Mat hierarchy = new Mat();
Imgproc.findContours(dst f_contours hierarchy Imgproc.RETR_EXTERNAL Imgproc.CHAIN_APPROX_NONE);
//加粗增强所有找到的轮廓
Imgproc.drawContours(dst f_contours -1 new Scalar(255) 3);
output(TMP_FOLDER + “/“ + (i++) + “_strong.jpg“ dst);
//Imgproc.erode(dst dst element);//腐蚀
//output(TMP_FOLDER + “/“ + (i++) + “_erode.jpg“ dst);
//再次查找轮廓
f_contours.clear();
hierarchy = new Mat();
Imgproc.findContours(dst f_contours hie
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-27 21:31 ImageExtract\
文件 1133 2018-12-27 19:47 ImageExtract\.classpath
文件 564 2018-12-27 19:26 ImageExtract\.project
目录 0 2018-12-27 19:26 ImageExtract\.settings\
文件 119 2018-12-27 19:26 ImageExtract\.settings\org.eclipse.core.resources.prefs
文件 243 2018-12-27 19:26 ImageExtract\.settings\org.eclipse.jdt.core.prefs
文件 90 2018-12-27 19:26 ImageExtract\.settings\org.eclipse.m2e.core.prefs
目录 0 2018-12-27 19:46 ImageExtract\dll\
文件 47162368 2018-12-18 14:45 ImageExtract\dll\opencv_java343.dll
文件 949 2018-12-27 19:28 ImageExtract\pom.xm
目录 0 2018-12-30 18:06 ImageExtract\res\
文件 3433300 2018-12-26 09:19 ImageExtract\res\1.jpg
文件 1490563 2018-12-30 15:10 ImageExtract\res\10.jpg
文件 179273 2018-12-26 10:09 ImageExtract\res\2.png
文件 15668 2018-12-28 10:07 ImageExtract\res\6.jpg
文件 25579 2018-12-28 11:04 ImageExtract\res\8.jpg
目录 0 2018-12-27 19:26 ImageExtract\src\
目录 0 2018-12-27 19:26 ImageExtract\src\main\
目录 0 2018-12-27 19:26 ImageExtract\src\main\java\
目录 0 2018-12-27 19:26 ImageExtract\src\main\java\com\
目录 0 2018-12-27 19:27 ImageExtract\src\main\java\com\rwzhang\
目录 0 2018-12-30 16:36 ImageExtract\src\main\java\com\rwzhang\imageExtract\
文件 8482 2018-12-30 17:42 ImageExtract\src\main\java\com\rwzhang\imageExtract\Extract.java
文件 9048 2018-12-30 16:42 ImageExtract\src\main\java\com\rwzhang\imageExtract\Extract2.java
文件 406 2018-12-30 18:05 ImageExtract\src\main\java\com\rwzhang\imageExtract\Main.java
目录 0 2018-12-27 19:33 ImageExtract\src\main\java\com\rwzhang\imageExtract\constants\
文件 229 2018-12-27 20:24 ImageExtract\src\main\java\com\rwzhang\imageExtract\constants\Constants.java
目录 0 2018-12-29 17:05 ImageExtract\src\main\java\com\rwzhang\imageExtract\entity\
文件 1038 2018-12-29 11:59 ImageExtract\src\main\java\com\rwzhang\imageExtract\entity\Area.java
文件 1395 2018-12-30 16:49 ImageExtract\src\main\java\com\rwzhang\imageExtract\entity\AreaLines.java
文件 4126 2018-12-30 16:53 ImageExtract\src\main\java\com\rwzhang\imageExtract\entity\LineGroup.java
............此处省略57个文件信息
- 上一篇:KE塞班JAVA模拟器PC版
- 下一篇:虹软离线人脸识别源码Android版本
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
- java8学习教程之lambda表达式的使用方法
评论
共有 条评论