2013-06-13 50 views
0

我的類實現CVCameraListener接口,有一個方法onCameraFrame()它返回將手機屏幕上顯示Mat對象。(線或矩形這個方法返回你的屏幕上看到電話)如何插入在墊目標(OpenCV的)

如何在此Mat對象中插入一行?例如,我想從(x1,y1)到(x2,y2)畫線。在Swing我會做:`g.drawLine(X1,Y1,X2,Y2)

的方法:

public Mat onCameraFrame(Mat inputFrame) { 
     inputFrame.copyTo(mRgba);  
     return mRgba; 
    } 

回答

1

OpenCV的繪畫正是你想要的那些功能。

對於Java看到:

對於C++看到:

+0

我加了標籤java。在這些方法的類別中,我找不到它。 – Yoda

+0

對不起,它應該是顯而易見的,它是Java,但是是多語言的,並且只在C++中使用OpenCV,我通常不會注意到那樣的細節。我已將鏈接添加到Java doco。 – Bull

+0

出於某種原因,'Core'似乎沒有'line'方法。它移動到某個地方了嗎?我意識到文檔說它有,但android開發人員工作室找不到它。 –

4

您可以使用Imgproc.rectangle方法繪製矩形。

Imgproc.rectangle(SrcMat, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), Detect_Color, 5); 

SrcMat是源墊和你的輸出, 第一個點開始的矩形的點, 最後一點是整理矩形的點, Detect_Color只是標量等new Scalar(0, 255, 0, 255); 5是厚度矩形