資源簡介
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版本
評論
共有 條評論