1. 读取图片
Imgcodecs.java public static Mat imread(String filename) eg. Mat image = Imgcodecs.imread(url);
2. 转换颜色空间
Imgproc.java public static void cvtColor(Mat src, Mat dst, int code) eg. Imgproc.cvtColor(image, image, Imgproc.COLOR_BGR2RGB);
3. 转换数据类型
Mat.java public void convertTo(Mat m, int rtype) eg. image.convertTo(image, CvType.CV_32FC3)
4. 读取像素值
Mat.java public double[] get(int row, int col)
5. 像素赋值
Mat.java public int put(int row, int col, double... data)
6. 绘图
Imgproc.java public static void ellipse(...) //画椭圆 public static void line(...) //画直线 public static void arrowedLine(...) //画带箭头的直线 public static void rectangle(...) //画矩形 public static void polylines(...) //画多边形 public static void fillPoly(...) //填充一个或多个多边形所包围的区域 public static void fillConvexPoly(...) //填充凸多边形 public static void drawContours(...) //画轮廓 public static void putText(...) //显示文字
7. Mat与Bitmap互转
7.1 Mat-->Bitmap Utils.java public static void matToBitmap(Mat mat, Bitmap bmp) eg. Mat img = predict(img_path + (hasSplit ? "" : "/") + img_name); Bitmap bm = Bitmap.createBitmap(mat_img.width(), mat_img.height(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(img, bm); 7.2 Bitmap-->Mat Utils.java public static void bitmapToMat(Bitmap bmp, Mat mat) eg. Mat img = new Mat(); Bitmap bm = BitmapFactory.decodeStream(fis); Utils.bitmapToMat(bm, img);