簡體   English   中英

位圖到墊子? 安卓opencv

[英]Bitmap to Mat? android opencv

嗨,我有我需要在 Mat 對象中轉換的 Bitmap 對象。我看到有人使用了 bitmaptoMat 函數,但是在我的 Utils 包中,我有很多帶有點列表輸入的函數來獲取 Mat 輸出,但我有我的 Bitmap 文件。我嘗試了另一種解決方案:需要字符串輸入的 Imgcodecs.imread,我猜它需要圖像路徑,但我嘗試提供 uri.toString() 但它不起作用。我該怎么辦? 這是我的位圖:

 Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);

進口

import org.opencv.android.Utils;

然后使用函數:

Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
Mat imgMAT = new Mat (bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC1);    
Utils.bitmapToMat(bitmap, imgMAT);

您可以使用指向位圖的指針來生成 Mat 文件。 我用 QT 做了這個,它看起來像這樣:

QImage  img((uchar*)frame->data(), frame->width(), frame->height(), QImage::Format::Format_RGB888);

我在 opencv 中做了,但我不記得確切的構造函數:嘗試做這樣的事情:

cv::Mat bitmapMat = cv::Mat(bitmap.height, bitmap.width, CV_8UC1, bitmap.data()); 

或者

cv::Mat bitmapMat = cv::Mat(Size _size, int _type, void* _data, size_t _step=AUTO_STEP);

暫無
暫無

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

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