日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安卓使用ImageView显示OpenCV-Mat

發(fā)布時(shí)間:2023/12/31 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓使用ImageView显示OpenCV-Mat 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

???????? Android?的Application—native調(diào)試暫時(shí)還只能進(jìn)行主線程調(diào)試,在GDB里面,運(yùn)行于子線程的OpenCv數(shù)據(jù)處理過程不能直接調(diào)試,OPenCV-Native函數(shù) ?? public Mat onCameraFrame(CvCameraViewFrame inputframe){} 是運(yùn)行于子線程的,暫時(shí)還找不到調(diào)試的方法。并且,自己編寫的子函數(shù)若是嵌入onCameraFrame()函數(shù),也不能進(jìn)行Native調(diào)試,因此是一個(gè)令人憂桑的開發(fā)過程。

????????對(duì)OpenCvMat?型進(jìn)行測(cè)試,C++的Highgui顯示函數(shù)是無效的,因?yàn)榇翱诓荒苤苯訌腁ndroid界面彈出。需要使用imageview進(jìn)行顯示以便查看圖像處理的結(jié)果,因此我借鑒了少許代碼:

@SuppressLint("SdCardPath") private int trackTestCv() {String filename ="/sdcard/DevCv/Picture/";filename += 1 + ".jpg";Mat frame =Highgui.imread(filename);Mat frameRf = new Mat(frame.rows(),frame.cols(),CvType.CV_8UC3);Bitmap bmp= null;bmp =Bitmap.createBitmap( frame.width(), frame.height(), Bitmap.Config.ARGB_8888);covMat2bm(frameRf,bmp);mImageView.setImageBitmap( bmp );mImageView.invalidate();mImageView.setVisibility(View.VISIBLE); }private int covMat2bm(Mat mat,Bitmap bm) {Utils.matToBitmap(mat, bm);return 1; }
函數(shù)解釋:

mImageView為一個(gè)imageview控件,使用前先獲取ID

注意事項(xiàng):事件的更新是遵循事件響應(yīng)進(jìn)行的,在一個(gè)寫死的循環(huán)里對(duì)imageview進(jìn)行更新是不改變顯示效果的


總結(jié)

以上是生活随笔為你收集整理的安卓使用ImageView显示OpenCV-Mat的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。