|
@@ -93,7 +93,7 @@ public class CornerCheck {
|
|
|
Mat grad = new Mat();
|
|
|
Core.addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad);
|
|
|
Imgcodecs.imwrite("D:\\data\\shark.jpg", grad);
|
|
|
- Imgproc.goodFeaturesToTrack(grad, corners, maxCorners, qualityLevel, minDistance, new Mat(new Size(grad.width(), grad.height()), CvType.CV_8UC1), blockSize, useHarrisDetector, k);
|
|
|
+ Imgproc.goodFeaturesToTrack(grad, corners, maxCorners, qualityLevel, minDistance, new Mat(), blockSize, useHarrisDetector, k);
|
|
|
Point[] pCorners = corners.toArray();
|
|
|
List<Point> pointList = new ArrayList<>();
|
|
|
double maxX = 0d;
|
|
@@ -177,19 +177,19 @@ public class CornerCheck {
|
|
|
try {
|
|
|
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
|
|
|
|
|
|
- final int maxCorners = 50, blockSize = 3;
|
|
|
- final double qualityLevel = 0.01, minDistance = 10.0, k = 0.04;
|
|
|
+ final int maxCorners = 50, blockSize = 5;
|
|
|
+ final double qualityLevel = 0.04, minDistance = 10.0, k = 0.04;
|
|
|
final boolean useHarrisDetector = false;
|
|
|
MatOfPoint corners = new MatOfPoint();
|
|
|
|
|
|
Mat src = Imgcodecs.imread(filePath);
|
|
|
-// for (int i=0;i<src.cols();i++){
|
|
|
-// for(int j=0;j<src.rows();j++){
|
|
|
-// if (i > 160 && i < 470 && j > 250 && j < 750) {
|
|
|
-// Imgproc.circle(src, new Point(i,j), 1, new Scalar(0, 236, 2), Imgproc.FILLED);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
+ for (int i = 0; i < src.cols(); i++) {
|
|
|
+ for (int j = 0; j < src.rows(); j++) {
|
|
|
+ if (i > 160 && i < 470 && j > 250 && j < 750) {
|
|
|
+ Imgproc.circle(src, new Point(i, j), 1, new Scalar(0, 236, 2), Imgproc.FILLED);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//卷积
|
|
|
Mat kernel = new Mat(3, 3, CvType.CV_16SC1);
|
|
|
kernel.put(0, 0, 0, -1, 0, -1, 5, -1, 0, -1, 0);
|