溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android OpenCv4如何繪制多邊形

發(fā)布時(shí)間:2021-05-18 15:02:14 來(lái)源:億速云 閱讀:137 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Android OpenCv4如何繪制多邊形,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

集成非常簡(jiǎn)單,直接按Module形式導(dǎo)入 sdk 即可

官方地址,打開選擇Android

Android OpenCv4如何繪制多邊形

下載完成解壓以后直接導(dǎo)入OpenCV-android-sdk目錄下的sdk文件即可。

繪制矩形

方法

	/** 
	 img 輸入圖像
	 pt1 左上起點(diǎn)
	 pt2 右下終點(diǎn)
	 color 繪制直線的顏色
	 thickness 直線寬度。若為負(fù)值,表示填充
	 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
     shift 點(diǎn)坐標(biāo)中的小數(shù)位數(shù)
     **/
 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();
    }

Android OpenCv4如何繪制多邊形

下面幾個(gè)可以自己試試

繪制直線

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

繪制多邊形

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

繪制圓形

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

繪制橢圓

/**
img 輸入圖像
 center 橢圓心坐標(biāo)
 axes 橢圓長(zhǎng)軸短軸半徑
 angle 橢圓旋轉(zhuǎn)的角度
 startAngle 橢圓弧起始角度
 endAngle 橢圓弧終止角度
 color 繪制直線的顏色
 thickness 直線寬度 若為負(fù)值,表示填充
 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
 shift 點(diǎn)坐標(biāo)中的小數(shù)位數(shù)
**/
 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 文字內(nèi)容
 org 文本字符串的左下角位置
 fontFace 字體類型
 fontScale 字體大小
 color 繪制直線的顏色
 thickness 直線寬度 若為負(fù)值,表示填充
 lineType 邊界的類型,可取值為FILLED ,LINE_4 ,LINE_8 和LINE_AA
 bottomLeftOrigin 如果為true,則圖像數(shù)據(jù)原點(diǎn)位于左下角。否則,位于左上角
**/
 public static void putText(Mat img, String text, Point org, int fontFace, double fontScale, Scalar color, int thickness, int lineType, boolean bottomLeftOrigin)

Android是什么

Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Android OpenCv4如何繪制多邊形”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI