0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenCV常用的 7 个示例(Python版)2

jf_78858299 来源:小白玩转Python 作者:二旺 2023-02-07 16:23 次阅读

缩放和裁剪图像

缩放是一个改变图像形状的过程。在 Opencv,我们可以使用 resize 函数来调整图像的形状。

语法

cv2.resize(IMG,(WIDTH,HEIGHT))
IMG: image which we want to resize
WIDTH: new width of the resize image
HEIGHT: new height of the resize image


Example
cv2.resize(img,(224,224))

要调整图像的大小,我们首先需要知道图像的形状。我们可以利用 shape 找到图像的形状,然后根据当前图像的形状,我们可以增大或减小图像的大小。让我们举个例子来看看。

import cv2
img = cv2.imread("images/img0.jpg") ##Choose any image
print(img.shape)
imgResize = cv2.resize(img,(224,224)) ##Decrease size
imgResize2 = cv2.resize(img,(1024,1024)) ##Increase size
cv2.imshow("Image",img)
cv2.imshow("Image Resize",imgResize)
cv2.imshow("Image Increase size",imgResize2)
print(imgResize.shape)
cv2.waitKey(0)

如果您不想把图像宽度和高度写死,您也可以根据现有的形状,然后根据比例改变图像的宽度和高度。

import cv2
img = cv2.imread("images/img0.jpg") ##Choose any image
print(img.shape)
shape = img.shape
imgResize = cv2.resize(img,(shape[0]//2,shape[1]//2))##Decrease size
imgResize2 = cv2.resize(img,(shape[0]*2,shape[1]*2)) ##Increase size
cv2.imshow("Image",img)
cv2.imshow("Image Resize",imgResize)
cv2.imshow("Image Increase size",imgResize2)
print(imgResize.shape)
cv2.waitKey(0)

裁剪图像

裁剪是获取部分图像的过程。在 OpenCV 中,我们可以通过定义裁剪后的矩形坐标来执行裁剪。

语法

imgCropped = img[y1:y2, x1:x2](x1,y1): top-left vertex
(x2,y2): bottom-right vertex


Example
imgCropped = img[0:100,200:200]

使用裁剪方法,让我们尝试从图像中提取 Monalisa 的脸。

import cv2
img = cv2.imread("images/img0.jpg")
imgCropped = img[50:250,120:330]
cv2.imshow("Image cropped",imgCropped)
cv2.imshow("Image",img)
cv2.waitKey(0)

您还可以使用绘画模式来查找(x1,y1)、(x2,y2)的正确坐标。

这里有个小任务:

任务 :右键单击图像并保存它; 尝试从图像中获取国王卡。

提示 :使用绘画模式找到正确的坐标,最后,使用调整大小,以增加裁剪图像的大小。

使用函数的基本图像滤波器

我们可以在图像上使用许多基本的滤波器,比如将图片转换成灰度、模糊等等。

从 Img 到 gray

为了将图像从彩色图像转换为灰度图像,我们可以使用函数 cv2.cvtColor,在这里我们传递 cv2.COLOR_BGR2GRAY 作为参数

语法

imgGray = cv2.cvtColor(IMG,cv2.CODE)
IMG: Original image
CODE: Conversion code for Gray(COLOR_BGR2GRAY)


Example
imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

从 Img 到 HSV

为了将图像转换为 HSV 颜色空间,我们可以使用函数 cv2.cvtColor,这里我们传递 cv2.COLOR_BGR2HSV 作为参数。它主要用于目标跟踪。

语法

imgGray = cv2.cvtColor(IMG,cv2.CODE)
IMG: Original image
CODE: Conversion code for Gray(COLOR_BGR2HSV)


Example
imgHsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

模糊图像

模糊用于去除图像中的噪声,也称为平滑。它是对图像应用低通滤波器的过程。在 OpenCV 中对图像进行模糊,我们常用 GaussianBlur。

语法

imgBlur = cv2.GaussianBlur(img,(sigmaX,sigmaY),kernalSize)


kernalsize − A Size object representing the size of the kernel.
sigmaX − A variable representing the Gaussian kernel standard deviation in X direction.
sigmaY - same as sigmaX


Exmaple
imgBlur = cv2.GaussianBlur(img,(3,3),0)

边缘检测

在 OpenCV 中,我们使用 Canny算子来检测图像中的边缘。也有不同的边缘检测器,但最著名的是 Canny算子。Canny算子边缘检测是一种边缘检测算子,它使用多级算法来检测图像中的大范围边缘,是由 John F. Canny 在1986年提出的。

语法

imgCanny = cv2.Canny(img,threshold1,threshold2)


threshold1,threshold2:Different values of threshold different for every images


Example
imgCanny = cv2.Canny(img,100,150)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • 计算机视觉
    +关注

    关注

    8

    文章

    1600

    浏览量

    45616
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40774
收藏 人收藏

    评论

    相关推荐

    60个重要的Python示例

    60个重要的Python示例
    发表于 10-26 09:29 473次阅读

    【Raspberry Pi 3试用体验】+Opencv+python的人脸识别

    ;)看一下效果:光线不好还是能认出来,说明opencv自带的分类器算开源里面不错的了~参考:Tigerboard开发板试用体验 python+opencv的人脸识别 NanoPi2试用体验 简单人脸识别-结项
    发表于 05-13 21:38

    IPC 3518 基于OpenCV的人脸特征提取 python

    安装完成后,建立python3的环境。2、创建环境3、安装Spyder4、安装OpenCV 5、安装包dlib输入命令conda install dlib=19.17.0如果不成功就
    发表于 12-25 18:35

    LabVIEW+Python+openCV

    的,动态链接库也需要配置,还需要知道各个参数含义和类型,这里提供另外一种方法,那就是PythonopenCV工具包,绝对开源和免费,LabVIEW可以利用Python节点调用Python
    发表于 12-07 20:59

    如何使用Python中的OpenCV模块检测颜色

    在这篇文章中,我们将看到如何使用 Python 中的 OpenCV 模块检测颜色,进入这个领域的第一步就是安装下面提到的模块。pip install opencv-pythonpip install
    发表于 02-09 16:31

    OpenCV-Python-Toturial-中文版

    python编写opencv的入门资料,介绍了python的各个函数的应用
    发表于 03-23 14:55 0次下载

    播放视频_OpenCV3版书本配套示例程序06

    OpenCV3编程入门》OpenCV3版书本配套示例程序06,使用VideoCapture类进行视频读取和播放。
    发表于 06-06 15:20 0次下载

    python图像处理opencv步骤是怎么样的

    越来越觉得python是一强大的工具,处理样本确实不错。最近因项目需要涉及到图片处理,所以开始用python调用opencv,再次觉得python真乃神器也!
    发表于 12-04 15:29 4233次阅读

    python代码示例之基于Python的日历api调用代码实例

    本文档的主要内容详细介绍的是python代码示例之基于Python的日历api调用代码实例。
    发表于 09-06 14:25 42次下载
    <b class='flag-5'>python</b>代码<b class='flag-5'>示例</b>之基于<b class='flag-5'>Python</b>的日历api调用代码实例

    如何使用Python OpenCV进行面部标志检测

    今天我们将使用相同的 OpenCV 和 Raspberry Pi 进行人脸标志检测。来自 dlib 库的预训练面部标志检测器模块将用于检测面部关键面部结构的位置,python OpenCV 将用于可视化检测到的面部部分。
    发表于 08-12 16:32 1238次阅读
    如何使用<b class='flag-5'>Python</b> <b class='flag-5'>OpenCV</b>进行面部标志检测

    Linux Debian与Python、Flask和OpenCV识别面部

    电子发烧友网站提供《Linux Debian与Python、Flask和OpenCV识别面部.zip》资料免费下载
    发表于 08-24 10:16 2次下载
    Linux Debian与<b class='flag-5'>Python</b>、Flask和<b class='flag-5'>OpenCV</b>识别面部

    使用opencvpython进行智能火灾检测

    电子发烧友网站提供《使用opencvpython进行智能火灾检测.zip》资料免费下载
    发表于 11-02 15:08 0次下载
    使用<b class='flag-5'>opencv</b>和<b class='flag-5'>python</b>进行智能火灾检测

    OpenCV常用的 7 个示例Python版)1

    OpenCV是计算机视觉领域最流行的库之一。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一个跨平台的开源库。免费使用。OpenCV 库是一个高度优化的库,其主要重点是实时
    的头像 发表于 02-07 16:23 972次阅读

    OpenCV常用的 7 个示例Python版)3

    OpenCV是计算机视觉领域最流行的库之一。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一个跨平台的开源库。免费使用。OpenCV 库是一个高度优化的库,其主要重点是实时
    的头像 发表于 02-07 16:23 791次阅读

    Python实现OpenCV的安装与使用

      本文实例讲述了 Python 实现 OpenCV 的安装与使用。分享给大家供 大家参考,具体如下:  由于下一步要开始研究下深度学习,而深度学习领域很多的算法和应 用都是用 Python 来实现
    发表于 07-20 11:46 7次下载