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++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73638
  • 计算机视觉
    +关注

    关注

    8

    文章

    1698

    浏览量

    45992
  • OpenCV
    +关注

    关注

    31

    文章

    635

    浏览量

    41343
收藏 人收藏

    评论

    相关推荐

    60重要的Python示例

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

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

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

    LabVIEW+Python+openCV

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

    OpenCV-Python-Toturial-中文版

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

    遍历图像像素的14种方法_OpenCV2版书本配套示例程序24

    遍历图像像素的14种方法_OpenCV2版书本配套示例程序24,来自一本国外OpenCV2书籍的示例-遍历图像像素的14种方法。
    发表于 06-06 15:20 0次下载

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

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

    OpenCV中的Python实现

    OpenCV是一基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++
    的头像 发表于 08-25 15:55 2076次阅读

    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>进行智能火灾检测

    Python OpenCV 的学习路线与重要知识点汇总 2

    类构成,提供了 Python、Ruby、MATLAB 等语言的接口,所以在学习的时候,要注意查阅资料的语言实现相关问题。 这个阶段除了安装 OpenCV 相关库以外,建议收藏官方网址,官方手册,官方入门教程,这些都是最佳的学习资料。
    的头像 发表于 02-07 15:35 698次阅读

    OpenCV常用7 示例Python版)1

    OpenCV是计算机视觉领域最流行的库之一。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一跨平台的开源库。免费使用。OpenCV
    的头像 发表于 02-07 16:23 1151次阅读

    OpenCV常用7 示例Python版)3

    OpenCV是计算机视觉领域最流行的库之一。它最初是用 C 和 C++ 编写的。现在也可以在 Python 中使用。它最初是由英特尔开发的。该库是一跨平台的开源库。免费使用。OpenCV
    的头像 发表于 02-07 16:23 1017次阅读

    python opencv运动检测代码分享

      本文实例为大家分享了 python opencv 运动检测的具体代码,供大家  参考,具体内容如下  # -*- coding:utf-8 -*-  __author__ = ‘kingking
    发表于 07-20 11:44 1次下载

    Python实现OpenCV的安装与使用

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

    opencv-pythonopencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。OpenCV-Python
    的头像 发表于 07-16 10:38 1179次阅读