gpt4 book ai didi

android - 在 Android 上显示位图图像 (OpenCV)

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:57 26 4
gpt4 key购买 nike

我正在尝试从外部存储读取图像作为 OpenCV Mat 文件,将其转换为位图图像,然后显示图像(拍摄照片后查看图像)。调试后,看起来除了 setImageBitmap 部分外一切正常。请让我知道我可能做错了什么。谢谢!

public boolean onTouch(View v, MotionEvent event) {
Mat img = Highgui.imread(Environment.getExternalStorageDirectory().getPath() + "/sample_picture_2015-06-09_13-24-53.jpeg");
displayBitmap(img);
return false;
}

public void displayBitmap(Mat img){
Bitmap bm = Bitmap.createBitmap(img.cols(), img.rows(),Bitmap.Config.ARGB_8888);
Utils.matToBitmap(img, bm);

// find the imageview and draw it!

ImageView iv = (ImageView) findViewById(R.id.imageView1);
iv.setImageBitmap(bm);

Log.i(TAG, "Here");
}

这是我的xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<org.opencv.samples.tutorial3.Tutorial3View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:id="@+id/tutorial3_activity_java_surface_view" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="2dp"/>

</LinearLayout>

最佳答案

虽然为时已晚,也许会帮助别人,在你的 onTouch 中,

 File imgFile = new File(Environment.getExternalStorageDirectory()+imgName);

if (imgFile.exists()) {
myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
Mat img = new Mat(myBitmap.getHeight(), myBitmap.getWidth(),
CvType.CV_8UC4);
displayBitmap(img);

现在它应该可以工作了!

关于android - 在 Android 上显示位图图像 (OpenCV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30733233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com