[英]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.