分享本身作的一個開源的圖片標註控件

簡介

什麼是圖片標註?衆所周知,機器學習是須要數據支撐的,好比你想讓機器認識圖片中的貓,就得把不少已經有答案的圖給這個機器看,就像咱們看例題同樣。而圖片標註就是給圖片這個例題加上答案。好比咱們要框出圖片中貓,最後把座標以及原圖打包做爲一個學習樣本,就能夠給模型食用啦。 這款控件就完成的這樣的一件事,支持對圖片進行畫框、調整、貼上標籤等,而且框不侷限於矩形,能夠擴展。git

效果預覽

能夠在個人項目主頁預覽效果圖,這裏圖片大小有限制,壓縮了效果很差。 也能夠直接clone下整個項目運行sample查看效果。github

添加到你的項目

第一步 在你的根項目的build.gradle中repositories末尾添加:機器學習

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
複製代碼

第二步 添加依賴maven

dependencies {
    implementation 'com.github.SirLYC:ImageLabelView:{latest version}'
}
複製代碼

在代碼中使用

你能夠先查看樣例 sample codeide

第一步 添加到你的佈局佈局

第二步 把一張圖片設置進去(經過bitmap形式)學習

相似於ImageView的CenterInside表現。Bitmap能夠爲空,可是會清空以前的全部標籤。gradle

val bitmap: Bitmap? = ... // download or read from disk
label.setBitmap(bitmap);
複製代碼

第三步 在4種模式下完成工做ui

  • PREVIEW
    這是默認模式。每當你設置一個新的bitmap時都會改變到這個模式。在這個模式下,你能夠移動或放大縮小圖片。
  • DRAW
    在這個模式能夠畫框。好比矩形框,對角就是你按下和擡起時的位置。手指擡起後,會選中這個框進入SELECT模式。
  • UPDATE
    在這個模式能夠改變框的大小或者位置。能夠拖動一個角或者一條邊改變大小,或者按到一個標籤中央移動它。
  • SELECT
    在這個模式下能夠經過點擊或長按選中一個標籤。標籤選中後能夠用以下代碼獲取:
label.selectingLabel()
複製代碼

這個模式通常用於處理messaege屬性的輸入或者刪除它。url

Step4: 導出數據

拿到Label的引用後直接調用它的 getData() 方法和 message 屬性獲取信息。

待完成/修復

  • 配置信息改變時會丟失狀態
  • 圓形的框
  • 三角形的框
  • 其餘多邊形...

感謝你們的支持!再次貼上項目地址

github.com/SirLYC/Imag…

相關文章
相關標籤/搜索