簡體   English   中英

Android OpenCV創建矩形

[英]Android OpenCV Create Rect

晚上好,需要一些幫助來通過openCV獲得正方形的rgb像素。我試圖從屏幕中心的50x50區域獲得像素,但是我沒有獲得任何成功。 如果我使用輸出,如果使用原始mat(image),則不會得到任何其他像素,它會到達頂角。請有人幫助

@Override
public void onPreviewFrame(Mat image) {

    int w = image.cols();
    int h = image.rows();


    Mat roi=new Mat(image, new Rect(h/2 , w/2 , 50, 50));
    Mat output = roi.clone();

    int rw=output.cols();
    int rh=output.rows();

    //double [] arrp = output.get(rh, rw);//if i use the output i dont get any pixel
    double [] arrp = image.get(rh, rw);//if use original mat its getting the top corner
    Log.i("",+(int)arrp[2]+" "+ (int)arrp[1]+" "+(int)arrp[0]);
}

我假設您可以使用copyTo

Mat output(50, 50, image.type());
image(Rect(h/2 , w/2 , output.size())).copyTo(output);

矩陣類具有一個運算符(const Rect&roi),該運算符返回一個子矩陣(不包含深層數據副本)。 http : //docs.opencv.org/modules/core/doc/basic_structures.html#id6

編輯:

沒有看到它是為Android。 我認為沒有運算符,因此您必須使用submat函數:

image.submat(Rect(h/2 , w/2 , output.size())).copyTo(output)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM