Android中OpenCV的java库

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);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章