在工業生產邁向智慧化、自動化的程序中,工業視覺技術發揮著愈發關鍵的作用。藉助 Android 工業視覺 APP 進行缺陷檢測,不僅能快速精準地識別產品缺陷,還能將檢測結果直觀展示並詳細記錄,為生產質量把控和工藝改進提供有力依據。本文將深入探討 Android 工業視覺 APP 在缺陷檢測結果展示與資料記錄方面的實現方式與優勢。
一、Android 工業視覺 APP 缺陷檢測基礎
1.1 工業視覺技術原理
工業視覺主要利用攝像頭等影像採集裝置獲取產品影像,再透過影像處理演算法和機器學習模型對影像進行分析,從而識別出產品表面的缺陷,如劃痕、裂紋、汙漬等。在 Android 平臺上,藉助 OpenCV 等開源庫以及深度學習框架,能夠實現穩妥的影像處理和缺陷檢測功能。
1.2 Android 工業視覺 APP 的優勢
便捷性:Android 裝置具有便攜性,操作人員可以手持裝置在生產現場進行即時檢測,無需將產品搬運到固定的檢測工位。
靈活性:APP 可以根據不同的生產需求和產品特點進行定製開發,快速適配各種檢測場景。
成本效益:相比專業的工業視覺檢測裝置,利用 Android 裝置開發 APP 的成本較低,適合中小企業進行生產質量管控。
二、缺陷檢測結果展示
2.1 直觀的影像標註
在 Android 工業視覺 APP 中,檢測到缺陷後,應在原始影像上進行直觀標註。可以使用不同顏色和形狀的標記框將缺陷區域圈出,並在旁邊顯示缺陷型別、尺寸等資訊。例如,對於劃痕缺陷,用紅色矩形框標註,並在框旁顯示“劃痕,長度:X mm”。
程式碼示例(使用 OpenCV 進行影像標註)
javaimport org.opencv.android.Utils;import org.opencv.core.*;import org.opencv.imgproc.Imgproc;import android.graphics.Bitmap;public class ImageAnnotation { public static Bitmap annotateImage(Bitmap originalBitmap, List<Rect> defectRects, List<String> defectTypes) { Mat srcMat = new Mat(); Utils.bitmapToMat(originalBitmap, srcMat); for (int i = 0; i < defectRects.size(); i++) { Rect rect = defectRects.get(i); String type = defectTypes.get(i); // 繪製矩形框 Imgproc.rectangle(srcMat, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 0, 255), 2); // 新增缺陷型別文字 Imgproc.putText(srcMat, type, new Point(rect.x, rect.y - 10), Imgproc.FONT_HERSHEY_SIMPLEX, 0.5, new Scalar(0, 0, 255), 1); } Bitmap annotatedBitmap = Bitmap.createBitmap(srcMat.cols(), srcMat.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(srcMat, annotatedBitmap); return annotatedBitmap; }}2.2 詳細的結果列表展示
除了影像標註,APP 還應提供缺陷檢測結果的詳細列表展示。列表中應包含產品編號、檢測時間、缺陷型別、缺陷位置、缺陷尺寸等資訊。操作人員可以透過列表快速瀏覽所有檢測結果,並對有問題的產品進行追溯和處理。
2.3 視覺化統計圖表
為了更直觀地瞭解生產過程中的缺陷情況,APP 可以生成視覺化統計圖表,如柱狀圖、餅圖等。柱狀圖可以展示不同型別缺陷的數量分佈,餅圖可以顯示各類缺陷在總缺陷中的佔比。透過這些圖表,管理人員可以快速發現生產過程中的主要問題,有針對性地進行工藝改進。
三、缺陷檢測資料記錄
3.1 本地資料庫儲存
Android 工業視覺 APP 可以使用 SQLite 資料庫將缺陷檢測資料進行本地儲存。每次檢測完成後,將產品編號、檢測時間、缺陷資訊等資料插入到資料庫中。本地資料庫儲存方便快捷,且不依賴網路,適合在生產現場使用。
程式碼示例(SQLite 資料庫操作)
javaimport android.content.ContentValues;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "defect_detection.db"; private static final int DATABASE_VERSION = 1; public static final String TABLE_NAME = "defects"; public static final String COLUMN_ID = "_id"; public static final String COLUMN_PRODUCT_ID = "product_id"; public static final String COLUMN_DETECTION_TIME = "detection_time"; public static final String COLUMN_DEFECT_TYPE = "defect_type"; public static final String COLUMN_DEFECT_LOCATION = "defect_location"; public static final String COLUMN_DEFECT_SIZE = "defect_size"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String createTableQuery = "CREATE TABLE " + TABLE_NAME + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_PRODUCT_ID + " TEXT, " + COLUMN_DETECTION_TIME + " TEXT, " + COLUMN_DEFECT_TYPE + " TEXT, " + COLUMN_DEFECT_LOCATION + " TEXT, " + COLUMN_DEFECT_SIZE + " TEXT)"; db.execSQL(createTableQuery); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } public long insertDefectData(String productId, String detectionTime, String defectType, String defectLocation, String defectSize) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(COLUMN_PRODUCT_ID, productId); values.put(COLUMN_DETECTION_TIME, detectionTime); values.put(COLUMN_DEFECT_TYPE, defectType); values.put(COLUMN_DEFECT_LOCATION, defectLocation); values.put(COLUMN_DEFECT_SIZE, defectSize); long id = db.insert(TABLE_NAME, null, values); db.close(); return id; }}3.2 雲端資料同步
為了實現資料的長期儲存和遠端訪問,APP 可以將本地資料庫中的資料同步到雲端伺服器。可以使用 RESTful API 與雲端伺服器進行通訊,將檢測資料以 JSON 格式傳送到伺服器端進行儲存。雲端資料同步還可以方便不同部門之間共享檢測資料,提高生產管理的效率。
3.3 資料匯出與分享
APP 應提供資料匯出功能,支援將檢測資料匯出為 Excel、CSV 等常見格式,方便操作人員進行資料分析和報告生成。同時,還應支援資料分享功能,操作人員可以透過郵件、即時通訊工具等方式將檢測資料分享給相關人員。
線上諮詢
電話諮詢
微信諮詢
回到頂部