当前位置: 首页 > 知识库问答 >
问题:

显示图像并转换为灰度-OpenCV for Android,Java API

锺离穆冉
2023-03-14

我正在Eclipse中编写一个使用OpenCV4Android API的Android应用程序。我如何才能轻松地显示Mat图像,仅用于调试?在C语言中,根据OpenCV教程,您可以执行以下操作:

namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.

但是Android的JavaAPI似乎在org.opencv.highgui.Highgui中没有namedWindow函数。

另外,我想加载灰度图像。在C语言中,根据不在Opencv中工作的imread,您应该:

imread("blackandwhite.jpg", 0);

但是JavaAPI的Highgui。imread()只有filename参数。

共有3个答案

司凡
2023-03-14

但是Android的JavaAPI在org中似乎没有namedWindow函数。opencv。海吉。海吉。

因为你必须在视图上显示你的图像。请查看WEB上的示例。

另外,我想加载图像为灰度。

cvCvtColor与codeCV_BGR2GRAY一起用于此类转换。

段干靖
2023-03-14

这是一个示例代码,它将使用OpenCV在imageView中显示一个图像(该图像必须位于drawable文件夹中):

 ImageVIew imgView = (ImageView) findViewById(R.id.sampleImageView);
        Mat mRgba = new MAt();
        mRgba = Utils.loadResource(MainAct.this, R.drawable.your_image,Highgui.CV_LOAD_IMAGE_COLOR);
        Bitmap img = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(),Bitmap.Config.ARGB_8888);
        Utils.matToBitmap(mRgba, img);
        imgView.setImageBitmap(img);

xml必须有一个ImageView,如下所示:

<ImageView
        android:id="@+id/sampleImageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"/>

希望这有助于解决你的问题。。

顾永福
2023-03-14

总结:

将图像转换为灰度:Imgproc。cvtColor(图像,图像,Imgproc.COLOR_bgr2 gray)

显示图像:请参见此处和此处。

 类似资料:
  • 问题内容: 我正在使用aparapi编写Buddhabrot分形生成器。我将其中的OpenCL部分工作了,得到了一个表示每个像素的单维数组。我将最终图像的尺寸作为最终整数,并编写了代码以获取该数组中任意点的索引。我想将其另存为图像,并且尝试将BufferedImage与TYPE_USHORT_GRAY一起使用。这是我到目前为止的内容: 问题是,我不知道将RGB设置为什么。我需要做什么? 问题答案:

  • 问题内容: 我想将具有形状的灰度图像转换为具有形状的3通道图像。使用可以完成工作,但是必须有一个整洁的方法。这是程序中的一段代码,有人可以提示。请指教。 问题答案: 您可以使用它来更简洁地完成此操作:

  • 问题内容: 我正在尝试使用 matplotlib.pyplot.imshow() 显示灰度图像。我的问题是灰度图像显示为颜色图。我需要灰度,因为我想在图像上绘制颜色。 我读入图像并使用 PIL的Image.open()。convert(“ L”)* 转换为灰度 * 然后,我将图像转换为矩阵,以便可以轻松地使用 但是,当我这样做 它使用颜色图显示图像(即不是灰度)。 我在这里做错了什么? 问题答案:

  • 问题内容: 你好,我正在将图像从彩色转换为纯黑白,结果是深色图像。我没有原因。以下是我的代码,它受SO上其他代码的启发。任何指导都会有所帮助。 我没有弄错我在做什么。使用任何其他开放源代码库的任何其他想法都可以。 工作::::: 问题答案: 您实际上并没有将彩色图像转换为黑白图像。您正在创建与空白图片相同大小的新空白图片。您实际上需要做一些处理旧图像的操作。

  • 问题内容: 我有一个3,076,568个二进制值(1s和0s)的NumPy数组。我想将其转换为矩阵,然后在Python中转换为灰度图像。 但是,当我尝试将数组重塑为1,538,284 x 1,538,284矩阵时,出现内存错误。 如何减小矩阵的大小,以便将其变成适合屏幕显示的图像而又不丢失唯一性/数据? 此外,如何将其转换为灰度图像? 任何帮助或建议,将不胜感激。谢谢。 问题答案: 您的“二进制值

  • 本文向大家介绍Python读取MRI并显示为灰度图像实例代码,包括了Python读取MRI并显示为灰度图像实例代码的使用技巧和注意事项,需要的朋友参考一下 本文实例主要关于Python实现读取MRI(核磁共振成像)为numpy数组,使用imshow显示为灰度。 代码如下: 脚本运行时间:(0分0.018秒) 结果展示: 总结 以上就是本文关于Python读取MRI并显示为灰度图像实例代码的全部内容