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

 

 

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