簡體   English   中英

OpenCV4Android上的CvException

[英]CvException on OpenCV4Android

我嘗試通過點擊屏幕來獲得投資回報率。 這是發生錯誤的部分。

 @Override public Mat onCameraFrame(CvCameraViewFrame inputFrame) { Mat rgba = inputFrame.rgba(); Mat roi_mat = new Mat(); if (startX!=0 && endX!=0){ //Toast.makeText(this, "start:"+start_point+" end:"+end_point, Toast.LENGTH_SHORT).show(); Core.rectangle(rgba,start_point,end_point,border_colour,0,8, 0 ); roi_rect = new Rect(startX,startY,(endX-startX),(endY-startY)); Mat roi_mat_ref = new Mat(rgba,roi_rect); roi_mat_ref.copyTo(roi_mat); //rgba.copyTo(roi_mat); } return rgba; } 

運行應用程序時一切正常。 但是,當我想要獲得投資回報率時,它會顯示一個錯誤。

10-04 20:19:18.754 6794-6859 / com.example.tew.roi E / cv :: error():OpenCV錯誤:聲明無效(0 <= _rowRange.start && _rowRange.start <= _rowRange.end && _rowRange.end <= m.rows)in cv :: Mat :: Mat(const cv :: Mat&,const cv :: Range&,const cv :: Range&),文件/ home / reports / ci / slave_desktop / 50-SDK /opencv/modules/core/src/matrix.cpp,第284行

10-04 20:19:18.755 6794-6859 / com.example.tew.roi E / org.opencv.core.Mat:Mat :: n_1Mat__JIIII()抓住了cv :: Exception:/ home / reports / ci / slave_desktop / 50-SDK / opencv / modules / core / src / matrix.cpp:284:錯誤:(-215)0 <= _rowRange.start && _rowRange.start <= _rowRange.end && _rowRange.end <=函數中的m.rows cv :: Mat :: Mat(const cv :: Mat&,const cv :: Range&,const cv :: Range&)

10/04 20:19:18.755 6794-6859 / com.example.tew.roi W / dalvikvm:threadid = 11:線程以未捕獲的異常退出(group = 0x40fbf258)

10-04 20:19:18.756 6794-6859 / com.example.tew.roi E / AndroidRuntime:致命異常:線程3348

CvException [org.opencv.core.CvException:cv :: Exception:/home/reports/ci/slave_desktop/50-SDK/opencv/modules/core/src/matrix.cpp:284:錯誤:(-215)0 < = _rowRange.start && _rowRange.start <= _rowRange.end && _rowRange.end <=函數cv :: Mat :: Mat(const cv :: Mat&,const cv :: Range&,const cv :: Range&)中的m.rows ]

在org.opencv.core.Mat.n_Mat(本機方法)

在org.opencv.core.Mat(Mat.java:676)

在com.example.tew.roi.MainActivity.onCameraFrame(MainActivity.java:154)

在org.opencv.android.CameraBridgeViewBase.deliverAndDrawFrame(CameraBridgeViewBase.java:387)

在org.opencv.android.JavaCameraView $ CameraWorker.run(JavaCameraView.java:346)

在java.lang.Thread.run(Thread.java:856)

這是我的完整編碼。

調整EndX-StartX值似乎對我有用。 您可以嘗試將其減小一點,然后再將其發送給Mat。

暫無
暫無

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

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