📝 OpenCV教程

70篇技术文档
  OpenCV教程

📅  最后修改于: 2020-11-23 03:33:55        🧑  作者: Mango

OpenCV是一个跨平台的库,通过它我们可以开发实时计算机视觉应用程序。它主要专注于图像处理,视频捕获和分析,包括面部检测和物体检测等功能。在本教程中,我们解释了如何在应用程序中使用OpenCV。本教程已为初学者准备,使他们了解OpenCV库的基础。我们在所有示例中都使用了Java编程语言,因此,您应该对Java有基本的了解,以便从本教程中受益。先决条件对于本教程,假定读者具有Java编程语言的先...

  OpenCV-概述

📅  最后修改于: 2020-11-23 03:34:26        🧑  作者: Mango

OpenCV是一个跨平台的库,通过它我们可以开发实时计算机视觉应用程序。它主要专注于图像处理,视频捕获和分析,包括面部检测和物体检测等功能。让我们从定义“计算机视觉”一词开始。计算机视觉可以将计算机视觉定义为一门学科,该学科根据场景中存在的结构的性质,解释如何从其2D图像重建,中断和理解3D场景。它使用计算机软件和硬件处理建模和复制人类视觉。计算机视觉与以下领域明显重叠-图像处理-它专注于图像处理...

  OpenCV-环境

📅  最后修改于: 2020-11-23 03:34:58        🧑  作者: Mango

在本章中,您将学习如何在系统中安装OpenCV并设置其环境。安装OpenCV首先,您需要将OpenCV下载到您的系统上。请遵循以下步骤。步骤1-通过单击以下链接打开OpenCV的主页:http://opencv.org/单击后,您将看到其主页,如下所示。步骤2-现在,单击上方屏幕快照中突出显示的下载链接。单击后,您将被定向到OpenCV的下载页面。步骤3-单击上方屏幕快照中突出显示的链接后,将下载...

  OpenCV-存储图像

📅  最后修改于: 2020-11-23 03:35:34        🧑  作者: Mango

为了捕获图像,我们使用诸如照相机和扫描仪之类的设备。这些设备记录图像的数值(例如:像素值)。 OpenCV是一个处理数字图像的库,因此我们需要存储这些图像以进行处理。OpenCV库的Mat类用于存储图像的值。它代表n维数组,用于存储灰度或彩色图像,体素体积,矢量场,点云,张量,直方图等图像数据。此类包含两个数据部分:标头和指针标头-包含诸如大小,用于存储的方法以及矩阵地址(大小恒定)之类的信息。指...

  OpenCV-阅读图像

📅  最后修改于: 2020-11-23 03:35:52        🧑  作者: Mango

软件包org.opencv.imgcodecs的Imgcodecs类提供读取和写入图像的方法。使用OpenCV,您可以读取图像并将其存储在矩阵中(如果需要,可以在矩阵上执行转换)。以后,您可以将处理后的矩阵写入文件。Imgcodecs类的read()方法用于使用OpenCV读取图像。以下是此方法的语法。它接受参数(文件名),它是String类型的变量,表示要读取的文件的路径。下面给出了使用Open...

  OpenCV-编写图像

📅  最后修改于: 2020-11-23 03:36:09        🧑  作者: Mango

Imgcodecs类的write()方法用于使用OpenCV写入图像。要写入图像,请重复上一个示例中的前三个步骤。要写入图像,您需要调用Imgcodecs类的imwrite()方法。以下是此方法的语法。此方法接受以下参数-filename-一个String变量,表示保存文件的路径。mat-一个Mat对象,代表要写入的图像。例以下程序是使用Java程序通过OpenCV库编写图像的示例。在执行上述程序...

  OpenCV-GUI

📅  最后修改于: 2020-11-23 03:36:45        🧑  作者: Mango

在前面的章节中,我们讨论了如何使用OpenCV Java库读取和保存图像。除此之外,我们还可以使用GUI库(例如AWT / Swings和JavaFX)在单独的窗口中显示加载的图像。将Mat转换为缓冲图像要读取图像,我们使用imread()方法。此方法返回以Matrix形式读取的图像。但是,要将此图像与GUI库(AWT / Swings和JavaFX)一起使用,应将其转换为包java.awt.im...

  OpenCV-IMREAD_XXX标志

📅  最后修改于: 2020-11-23 03:37:05        🧑  作者: Mango

OpenCV支持各种类型的图像,例如彩色,二进制,灰度等。使用imread()方法和Imgcodecs类的预定义字段,可以将给定图像读取为另一种类型。imread()方法的标志参数(IMREAD_XXX)在前面的章节中,我们已经了解了Imgcodecs类的imread()方法的语法。它接受一个表示要读取图像位置的字符串参数。imread()方法具有另一种语法。此语法接受两个参数-filename-...

  OpenCV-以灰度读取图像

📅  最后修改于: 2020-11-23 03:37:23        🧑  作者: Mango

以下程序演示了如何读取彩色图像为灰度图像并使用JavaFX窗口进行显示。在这里,我们通过传递标志IMREAD_GRAYSCALE和保存彩色图像路径的String来读取图像。输入图像假设以下是上述程序中指定的输入图像sample.jpg。输出图像在执行程序时,您将获得以下输出。...

  OpenCV-将图像读取为BGR

📅  最后修改于: 2020-11-23 03:37:40        🧑  作者: Mango

以下程序演示了如何将彩色图像读取为BGR类型的图像并使用JavaFX窗口进行显示。在这里,我们将标志IMREAD_COLOR传递给方法imread()以及保留彩色图像路径的String来读取图像。输入图像假设以下是上述程序中指定的输入图像sample.jpg。输出图像在执行程序时,您将获得以下输出。...

  OpenCV-彩色图像到灰度

📅  最后修改于: 2020-11-23 03:38:01        🧑  作者: Mango

在前面的章节中,我们讨论了如何读取不同类型(二进制,灰度,BGR等)的输入图像。在本章中,我们将学习如何将一种图像类型转换为另一种图像类型。包org.opencv.imgproc的名为Imgproc的类提供了将图像从一种颜色转换为另一种颜色的方法。将彩色图像转换为灰度名为cvtColor()的方法用于将彩色图像转换为灰度。以下是此方法的语法。此方法接受以下参数-src-表示源的矩阵。dst-代表目...

  OpenCV-彩色图像到二进制文件

📅  最后修改于: 2020-11-23 03:38:22        🧑  作者: Mango

一种称为threshold()的方法用于将灰度图像转换为二进制图像。以下是此方法的语法。此方法接受以下参数-垫–垫子对象表示输入图像。dst-表示输出图像的Mat对象。thresh-代表阈值的整数。maxval-一个整数,表示与THRESH_BINARY和THRESH_BINARY_INV阈值类型一起使用的最大值。type-表示转换类型的整数代码,例如,从RGB到灰度。您可以通过将代码Imgpro...

  OpenCV-灰度到二进制

📅  最后修改于: 2020-11-23 03:38:41        🧑  作者: Mango

您可以使用上一章中提到的相同方法将灰度图像转换为二进制图像。只需将灰度图像的路径作为此程序的输入即可。例以下程序演示了如何将灰度图像读取为二进制图像并使用JavaFX窗口进行显示。输入图像假设以下是上述程序中指定的输入图像sample.jpg。输出图像在执行程序时,您将获得以下输出。...

  OpenCV-画圆

📅  最后修改于: 2020-11-23 03:39:01        🧑  作者: Mango

您可以使用org.opencv.imgproc包的相应方法在图像上绘制各种形状,如圆形,矩形,直线,椭圆形,折线,凸面,折线,折线。您可以使用imgproc类的circle()方法在图像上绘制圆。以下是此方法的语法-此方法接受以下参数-mat-一个Mat对象,代表要在其上绘制圆的图像。点-表示圆的中心的点对象。radius-代表圆半径的整数类型的变量。标量-表示圆形颜色的标量对象。 (BGR)厚度...

  OpenCV-画一条线

📅  最后修改于: 2020-11-23 03:39:20        🧑  作者: Mango

您可以使用imgproc类的line()方法在图像上画一条线。以下是此方法的语法。此方法接受以下参数-mat-一个Mat对象,代表要在其上绘制线条的图像。pt1和pt2-两个Point对象,代表要在其间绘制线的点。标量-表示圆形颜色的标量对象。 (BGR)厚度-代表线条粗细的整数;默认情况下,厚度值为1。例以下程序演示了如何在图像上画一条线并使用JavaFX窗口显示它。在执行上述程序时,您将获得以...