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

python图像处理opencv步骤是怎么样的,第1张

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

  一、主要函数

  1、 cv2.imread():读入图片,共两个参数,第一个参数为要读入的图片文件名,第二个参数为如何读取图片,包括cv2.IMREAD_COLOR:读入一副彩色图片;cv2.IMREAD_GRAYSCALE:以灰度模式读入图片;cv2.IMREAD_UNCHANGED:读入一幅图片,并包括其alpha通道。

  2、cv2.imshow():创建一个窗口显示图片,共两个参数,第一个参数表示窗口名字,可以创建多个窗口中,但是每个窗口不能重名;第二个参数是读入的图片。

  3、cv2.waitKey():键盘绑定函数,共一个参数,表示等待毫秒数,将等待特定的几毫秒,看键盘是否有输入,返回值为ASCII值。如果其参数为0,则表示无限期的等待键盘输入。

  4、cv2.destroyAllWindows():删除建立的全部窗口。

  5、cv2.destroyWindows():删除指定的窗口。

  6、cv2.imwrite():保存图片,共两个参数,第一个为保存文件名,第二个为读入图片。

  Python-OpenCV 处理图像基本 *** 作   0x00. 图片读、写和显示 *** 作

  安装好 OpenCV 之后,首先尝试加载一张最简单的图片并显示出来,代码示例:

  第一种方式使用cv2.cv的LoadImage、ShowImage和SaveImage函数

  import cv2.cv as cv

  # 读图片

  image=cv.LoadImage(‘img/image.png’, cv.CV_LOAD_IMAGE_COLOR)#Load the image

  #Or just: image=cv.LoadImage(‘img/image.png’)

  cv.NamedWindow(‘a_window’, cv.CV_WINDOW_AUTOSIZE) #FacultaTIve

  cv.ShowImage(‘a_window’, image) #Show the image

  # 写图片

  cv.SaveImage(“thumb.png”, thumb)

  cv.WaitKey(0) #Wait for user input and quit

  也可以直接使用cv2的imread、imwrite和imshow函数

  import numpy as np

  import cv2

  img = cv2.imread(‘messi5.jpg’,0)

  cv2.imshow(‘image’,img)

  k = cv2.waitKey(0)

  if k == 27: # wait for ESC key to exit

  cv2.destroyAllWindows()

  elif k == ord(‘s’): # wait for ‘s’ key to save and exit

  cv2.imwrite(‘messigray.png’,img)

  cv2.destroyAllWindows()

  imread函数还可以定义加载的mode,默认是以RGB模式处理图片:

  import cv2

  grayImage = cv2.imread(‘MyPic.png’, cv2.CV_LOAD_IMAGE_GRAYSCALE)

  # 可选参数CV_LOAD_IMAGE_COLOR (BGR), CV_LOAD_IMAGE_GRAYSCALE (grayscale), CV_LOAD_IMAGE_UNCHANGED(neither)

  cv2.imwrite(‘MyPicGray.png’, grayImage)

  0x01. 获取图片属性

  import cv2

  img = cv2.imread(‘img/image.png’)

  print img.shape

  # (640, 640, 3)

  print img.size

  # 1228800

  print img.dtype

  # uint8

  # 在debug的时候,dtype很重要

  0x02. 输出文本

  在处理图片的时候,我们经常会需要把一些信息直接以文字的形式输出在图片上,下面的代码将实现这个效果:

  import cv2.cv as cv

  image=cv.LoadImage(‘img/lena.jpg’, cv.CV_LOAD_IMAGE_COLOR) #Load the image

  font = cv.InitFont(cv.CV_FONT_HERSHEY_SIMPLEX, 1, 1, 0, 3, 8) #Creates a font

  y = image.height / 2 # y posiTIon of the text

  x = image.width / 4 # x posiTIon of the text

  cv.PutText(image,“Hello World !”, (x,y),font, cv.RGB(255, 255, 255)) #Draw the text

  cv.ShowImage(‘Hello World’, image) #Show the image

  cv.WaitKey(0)

  cv2:

  cv2.putText(frame, ‘Hello World’, (300,100), 0, 0.5, (0,0,255),2)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2717698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存