赞
踩
- package hsytest;
-
- import org.opencv.core.*;
- import org.opencv.imgcodecs.Imgcodecs;
- import org.opencv.imgproc.Imgproc;
- import org.opencv.utils.Converters;
-
- import java.net.URL;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Iterator;
- import java.util.List;
-
- public class HsyOpencvUtils {
-
- static {
- // 解决awt报错问题
- System.setProperty("java.awt.headless", "false");
- System.out.println("java.library.path = " + System.getProperty("java.library.path"));
- // 加载动态库
- // URL url = ClassLoader.getSystemResource("opencv_java341.dll");
- // URL url = HsyOpencvTest.class.getResource("opencv_java320.dll");
- // String path = url.toString();
- // System.out.println( "path = " + path );
- System.load( "E:\\git\\study\\opencvHandleImg-master\\out\\production\\Opencv\\opencv_java320.dll" );
- }
-
- /**
- * 图片的透视变换
- */
- public static void perspectiveTransform( String imagePath_src,
- String outputPath,
- Point p1_src,
- Point p2_src,
- Point p3_src,
- Point p4_src,
- Point p1_output,
- Point p2_output,
- Point p3_output,
- Point p4_output ) {
- try{
- Mat mat_src = Imgcodecs.imread( imagePath_src );
- Mat mat_output = new Mat();
-
- List<Point> points_src = Arrays.asList( p1_src,p2_src,p3_src,p4_src );
- Mat mat_points_src= Converters.vector_Point_to_Mat( points_src,CvType.CV_32F );
-
- List<Point> points_output = Arrays.asList( p1_output,p2_output,p3_output,p4_output );
- Mat mat_points_output = Converters.vector_Point_to_Mat( points_output,CvType.CV_32F );
-
- Mat mat_transform_map = Imgproc.getPerspectiveTransform( mat_points_src, mat_points_output );
- Imgproc.warpPerspective( mat_src, mat_output, mat_transform_map, mat_src.size(),Imgproc.INTER_LINEAR );
- Imgcodecs.imwrite( outputPath,mat_output );
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。