微信公众号:小白图像与视觉
关于技术、关注
yysilence00
。有问题或建议,请公众号留言。
了解OpenCV的计算机视觉
OpenCV Python教程
在本OpenCV Python教程中,我们将介绍在Python中使用OpenCV进行计算机视觉的各个方面。长期以来,OpenCV一直是软件开发中至关重要的部分。
什么是计算机视觉?
为了简化答案,让我们考虑一个场景。
假设您和您的朋友去度假,您将一堆图片上传到了Facebook。但是现在要花些时间才能找到朋友的脸并在每张照片中标记它们。实际上,Facebook足够聪明,可以为您标记人物。
那么,您如何看待自动标记功能?简而言之,它通过计算机视觉起作用。
计算机视觉是一个跨学科领域,涉及如何制作计算机以从数字图像或视频获得高层次的理解。
计算机如何读取图像?
我们可以发现这是纽约天际线的图像。但是,计算机可以自己找出所有这些吗?答案是不!计算机读取的任何图像的取值范围为0到255。
对于任何彩色图像,都有3个主要通道-红色,绿色和蓝色。它的工作原理非常简单。
为每种原色形成一个矩阵,然后,这些矩阵组合以提供每种R,G和B颜色的像素值。
矩阵的每个元素提供有关像素亮度强度的数据。
考虑下图:
如图所示,此处图像的大小可以计算为B x A x 3。
注意:对于黑白图像,只有一个单一通道。
现在让我们看一下OpenCV到底是什么。
什么是OpenCV?
OpenCV是一个旨在解决计算机视觉问题的Python库。OpenCV最初是由Intel在1999年开发的,但后来得到Willow Garage的支持。它支持多种编程语言,例如C ++,Python,Java等。支持多种平台,包括Windows,Linux和MacOS。
OpenCV Python只是用于Python的原始C ++库的包装类。使用此方法,所有OpenCV数组结构都可以与NumPy数组进行相互转换。这样可以更轻松地将其与使用NumPy的其他库集成。例如,诸如SciPy和Matplotlib之类的库。
使用OpenCV的基本操作?
让我们看一下从加载图像到调整图像大小等各种概念。
- 1、使用OpenCV加载图像
Import cv2
# colored Image
Img = cv2.imread ("Penguins.jpg",1)
# Black and White (gray scale)
Img_1 = cv2.imread ("Penguins.jpg",0)
如以上代码所示,第一个要求是导入OpenCV模块。
稍后,我们可以使用imread模块读取图像。参数中的1表示它是彩色图像。如果参数是0而不是1,则意味着导入的图像是黑白图像。图像的名称是“企鹅”。很简单吧?
- 2、图像形状/分辨率
使用shape子函数来输出图片的形状。查看代码:
Import cv2
# Black and White (gray scale)
Img = cv2.imread ("Penguins.jpg",0)
Print(img.shape)
通过图像的形状,我们指的是NumPy数组的形状。从执行代码中