no commit message

devA
yuxue 5 years ago
parent 373370903d
commit 6ffda65393

@ -1,5 +1,6 @@
package com.yuxue.util;
import java.util.Arrays;
import java.util.Map;
import java.util.Set;
@ -24,8 +25,6 @@ public class ImageUtil {
private static String DEFAULT_BASE_TEST_PATH = "D:/PlateDetect/temp/";
public static final int DEFAULT_GAUSSIANBLUR_SIZE = 5;
public static void main(String[] args) {
String tempPath = DEFAULT_BASE_TEST_PATH ;
@ -35,10 +34,110 @@ public class ImageUtil {
String filename = DEFAULT_BASE_TEST_PATH + "test.png";
Mat inMat = opencv_imgcodecs.imread(filename);
ImageUtil.rgb2Hsv(inMat, true, tempPath);
// ImageUtil.gaussianBlur(inMat, true, tempPath);
ImageUtil.rgb2Hsv(inMat, true, tempPath);
}
/**
*
* @param inMat
* @param debug
* @return
*/
public static final int DEFAULT_GAUSSIANBLUR_SIZE = 5;
public static Mat gaussianBlur(Mat inMat, Boolean debug, String tempPath) {
Mat dst = new Mat();
opencv_imgproc.GaussianBlur(inMat, dst, new Size(DEFAULT_GAUSSIANBLUR_SIZE, DEFAULT_GAUSSIANBLUR_SIZE), 0, 0, opencv_core.BORDER_DEFAULT);
if (debug) {
opencv_imgcodecs.imwrite(tempPath + "gaussianBlur.jpg", dst);
}
return dst;
}
/**
*
* @param inMat
* @param debug
* @param tempPath
* @return
*/
public static Mat grey(Mat inMat, Boolean debug, String tempPath) {
Mat dst = new Mat();
opencv_imgproc.cvtColor(inMat, dst, opencv_imgproc.CV_RGB2GRAY);
if (debug) {
opencv_imgcodecs.imwrite(tempPath + "debugGray.jpg", dst);
}
return dst;
}
/**
* Sobel
* @param inMat
* @param debug
* @param tempPath
* @return
*/
public static final int SOBEL_SCALE = 1;
public static final int SOBEL_DELTA = 0;
public static final int SOBEL_DDEPTH = opencv_core.CV_16S;
public static final int SOBEL_X_WEIGHT = 1;
public static final int SOBEL_Y_WEIGHT = 0;
public static Mat sobel(Mat inMat, Boolean debug, String tempPath) {
Mat dst = new Mat();
Mat grad_x = new Mat();
Mat grad_y = new Mat();
Mat abs_grad_x = new Mat();
Mat abs_grad_y = new Mat();
opencv_imgproc.Sobel(inMat, grad_x, SOBEL_DDEPTH, 1, 0, 3, SOBEL_SCALE, SOBEL_DELTA, opencv_core.BORDER_DEFAULT);
opencv_core.convertScaleAbs(grad_x, abs_grad_x);
opencv_imgproc.Sobel(inMat, grad_y, SOBEL_DDEPTH, 0, 1, 3, SOBEL_SCALE, SOBEL_DELTA, opencv_core.BORDER_DEFAULT);
opencv_core.convertScaleAbs(grad_y, abs_grad_y);
// Total Gradient (approximate)
opencv_core.addWeighted(abs_grad_x, SOBEL_X_WEIGHT, abs_grad_y, SOBEL_Y_WEIGHT, 0, dst);
if (debug) {
opencv_imgcodecs.imwrite(tempPath + "debugSobel.jpg", dst);
}
return dst;
}
/**
* rgbhsv
* @param inMat
* @param debug
* @param tempPath
* @return
*/
public static Mat rgb2Hsv(Mat inMat, Boolean debug, String tempPath) {
// 转到HSV空间进行处理
Mat dst = new Mat();
opencv_imgproc.cvtColor(inMat, dst, opencv_imgproc.CV_BGR2HSV);
MatVector hsvSplit = new MatVector();
opencv_core.split(dst, hsvSplit);
// 直方图均衡化是一种常见的增强图像对比度的方法,使用该方法可以增强局部图像的对比度,尤其在数据较为相似的图像中作用更加明显
opencv_imgproc.equalizeHist(hsvSplit.get(2), hsvSplit.get(2));
opencv_core.merge(hsvSplit, dst);
if (debug) {
opencv_imgcodecs.imwrite(tempPath + "hsvMat_"+System.currentTimeMillis()+".jpg", dst);
}
return dst;
}
/**
* HSVH
@ -90,42 +189,4 @@ public class ImageUtil {
}
/**
* rgbhsv
* @param inMat
* @param debug
* @param tempPath
* @return
*/
public static Mat rgb2Hsv(Mat inMat, Boolean debug, String tempPath) {
// 转到HSV空间进行处理
Mat hsvMat = new Mat(inMat.rows(), inMat.cols(), opencv_imgproc.CV_BGR2HSV);
opencv_imgproc.cvtColor(inMat, hsvMat, opencv_imgproc.CV_BGR2HSV);
MatVector hsvSplit = new MatVector();
opencv_core.split(hsvMat, hsvSplit);
// opencv_imgproc.equalizeHist(hsvSplit.get(2), hsvSplit.get(2));
// opencv_core.merge(hsvSplit, hsvMat);
if (debug) {
opencv_imgcodecs.imwrite(tempPath + "hsvMat_"+System.currentTimeMillis()+".jpg", hsvMat);
}
return hsvMat;
}
/**
*
* @param inMat
* @param debug
* @return
*/
public static Mat gaussianBlur(Mat inMat, Boolean debug, String tempPath) {
Mat gsMat = new Mat();
opencv_imgproc.GaussianBlur(inMat, gsMat, new Size(DEFAULT_GAUSSIANBLUR_SIZE, DEFAULT_GAUSSIANBLUR_SIZE), 0, 0, opencv_core.BORDER_DEFAULT);
if (debug) {
opencv_imgcodecs.imwrite(tempPath + "gaussianBlur.jpg", gsMat);
}
return gsMat;
}
}

Loading…
Cancel
Save