E/cv::error(): OpenCV(4.1.1) Error: Assertion failed (total() == 0 || data != NULL) in Mat, file /build/master_pack-android/opencv/modules/core/include/opencv2/core/mat.inl.hpp, line 548
2021-11-23 18:13:35.480 13562-13688/com.tools.niviewer E/org.opencv.core.Mat: Mat::n_1Mat__IIILByteBuffer() caught cv::Exception: OpenCV(4.1.1) /build/master_pack-android/opencv/modules/core/include/opencv2/core/mat.inl.hpp:548: error: (-215:Assertion failed) total() == 0 || data != NULL in function ‘Mat’
2021-11-23 18:13:35.480 13562-13688/com.tools.niviewer E/DYStreamView: Failed reading frame: CvException [org.opencv.core.CvException: cv::Exception: OpenCV(4.1.1) /build/master_pack-android/opencv/modules/core/include/opencv2/core/mat.inl.hpp:548: error: (-215:Assertion failed) total() == 0 || data != NULL in function ‘Mat’
opencv oni 图片转png ,参考着
https://blog.csdn.net/zdhfjb/article/details/40819187,参考这里的方法的。
用到Mat rgbImg = new Mat(height,width, CvType.CV_8UC3,byteBuffer);方法时,就报上面的错误。
卡了两天,
终于找到灵感,百度搜索
https://www.baidu.com/s?wd=opencv%20Mat%20bytebuffer&rsv_spt=1&rsv_iqid=0xee700ee800000919&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&rsv_dl=tb&oq=%2526gt%253Brror%253A%2520Assertion%2520failed%2520(total()%2520%253D%253D%25200%2520%257C%257C%2520data%2520!%253D%2520NULL)%2520in%2520Mat&rsv_btype=t&inputT=83824&rsv_t=bc43HplCcixqLaIVv8v4dr80DejlZS6QD7YMBGZALBtOeJvnsGN7XoyA9zK3fXsbf1uQ&rsv_pq=d9cc130c000278a2&rsv_sug3=174&rsv_sug1=159&rsv_sug7=100&rsv_sug2=0&rsv_sug4=85786,看到下面大神的提示
https://blog.csdn.net/gaoxiaochuan89/article/details/81508665,果断试一试:
改成:
Mat rgbImg = new Mat(height,width, CvType.CV_8UC3);
rgbImg.put(0,0,byteBuffer.array());
问题解决,卡了我两天的问题,ok了。