Android OpenCv4 繪制多邊形的方法

集成非常簡單,直接按Module形式導入 sdk 即可

官方地址,打開選擇Android

在這裡插入圖片描述

下載完成解壓以後直接導入OpenCV-android-sdk目錄下的sdk文件即可。

繪制矩形

方法

	/** 
	 img 輸入圖像
	 pt1 左上起點
	 pt2 右下終點
	 color 繪制直線的顏色
	 thickness 直線寬度。若為負值,表示填充
	 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
     shift 點坐標中的小數位數
     **/
 public static void rectangle(Mat img, Point pt1, Point pt2, Scalar color, int thickness, int lineType, int shift) 

使用

 private void renderRectangle(Mat source) {
        Point leftTop = new Point(100, 100);
        Point rightBottom = new Point(500, 300);
        Imgproc.rectangle(source, leftTop, rightBottom, new Scalar(0.0, 0.0, 255.0), 10);
        showMat(source);
    }
      private void showMat(Mat source) {
        Bitmap bitmap = Bitmap.createBitmap(source.width(), source.height(), Bitmap.Config.ARGB_8888);
        Utils.matToBitmap(source, bitmap);
        mIvSrc.setImageBitmap(bitmap);
        source.release();
    }

在這裡插入圖片描述

下面幾個可以自己試試

繪制直線

/**
 img 輸入圖像
 pt1 起點
 pt2 終點
 color 繪制直線的顏色
 thickness 直線寬度
 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
 shift 點坐標中的小數位數
**/
 public static void line(Mat img, Point pt1, Point pt2, Scalar color, int thickness, int lineType, int shift)

繪制多邊形

/**
 img 輸入圖像
 pts 多邊形端點坐標 list<point>
 isClosed 是否閉合
 color 繪制直線的顏色
 thickness 直線寬度
 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
 shift 點坐標中的小數位數
**/
 public static void polylines(Mat img, List<MatOfPoint> pts, boolean isClosed, Scalar color, int thickness, int lineType, int shift) 

繪制圓形

/**
 img 輸入圖像
 center 圓心坐標
 radius 圓半徑
 color 繪制直線的顏色
 thickness 直線寬度 若為負值,表示填充
 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
 shift 點坐標中的小數位數
**/
public static void circle(Mat img, Point center, int radius, Scalar color, int thickness, int lineType, int shift)

繪制橢圓

/**
img 輸入圖像
 center 橢圓心坐標
 axes 橢圓長軸短軸半徑
 angle 橢圓旋轉的角度
 startAngle 橢圓弧起始角度
 endAngle 橢圓弧終止角度
 color 繪制直線的顏色
 thickness 直線寬度 若為負值,表示填充
 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
 shift 點坐標中的小數位數
**/
 public static void ellipse(Mat img, Point center, Size axes, double angle, double startAngle, double endAngle, Scalar color, int thickness, int lineType, int shift)

繪制文字

/**
 img 輸入圖像
 text 文字內容
 org 文本字符串的左下角位置
 fontFace 字體類型
 fontScale 字體大小
 color 繪制直線的顏色
 thickness 直線寬度 若為負值,表示填充
 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
 bottomLeftOrigin 如果為true,則圖像數據原點位於左下角。否則,位於左上角
**/
 public static void putText(Mat img, String text, Point org, int fontFace, double fontScale, Scalar color, int thickness, int lineType, boolean bottomLeftOrigin)

到此這篇關於Android OpenCv4 繪制多邊形的方法的文章就介紹到這瞭,更多相關Android OpenCv4 多邊形內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: