Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头

2022-07-29,,,,

一. 打印图片属性、设置图片存储路径

代码如下:

#打印图片的属性、保存图片位置
import cv2 as cv
import numpy as np   #numpy是一个开源的python科学计算库
def get_image_info(image):
  print(type(image))  #type() 函数如果只有第一个参数则返回对象的类型  在这里函数显示图片类型为 numpy类型的数组
  print(image.shape)
  #图像矩阵的shape属性表示图像的大小,shape会返回tuple元组,
  # 第一个元素表示矩阵行数,第二个元组表示矩阵列数,第三个元素是3,表示像素值由光的三原色组成
  print(image.size) #返回图像的大小,size的具体值为shape三个元素的乘积
  print(image.dtype) #数组元素的类型通过dtype属性获得
  pixel_data=np.array(image)
  print(pixel_data) # 打印图片矩阵   n维数组对象即矩阵对象
src=cv.imread('e:\imageload\example.png')
cv.namedwindow('input_image', cv.window_autosize)
cv.imshow('input_image', src)
get_image_info(src)
cv.imwrite("e:/example.png",src)    #图片存储路径
# gray=cv.cvtcolor(src,cv.color_bgr2gray)  #使图片颜色变为灰度
# cv.imwrite("e:/example.png",gray)
cv.waitkey(0)
cv.destroyallwindows()

二.电脑摄像头的调取和显示

代码如下:

#电脑摄像头的调取和显示
import cv2 as cv
def video_demo():
  capture=cv.videocapture(0)
  #参数为视频设备的id ,如果只有一个摄像头可以填0,表示打开默认的摄像头   这里的参数也可以是视频文件名路径,只要把视频文件的具体路径写进去就好
  while true: #只要没跳出循环,则会循环播放每一帧 ,waitkey(10)表示间隔10ms
    ret, frame = capture.read()
    #read函数读取视频(摄像头)的某帧,它能返回两个参数. 第一个参数是bool型的ret,其值为true或false,代表有没有读到图片. 第二个参数是frame,是当前截取一帧的图片
    frame=cv.flip(frame,1)
    #翻转 0:沿x轴翻转(垂直翻转)  大于0:沿y轴翻转(水平翻转)  小于0:先沿x轴翻转,再沿y轴翻转,等价于旋转180°
    cv.imshow("video",frame)
    pc=cv.waitkey(10)  #超过10ms, waitkey函数会返回-1,如果10ms内在键盘按了某个按键,则 waitkey函数会返回对应按键的ascii码值,ascii码值一定大于0
    if pc>0:
      break
    # if cv.waitkey(10) == ord('z'): # 键盘输入z退出窗口,不按z点击关闭会一直关不掉 也可以设置成其他键。 ord()函数返回对应字符的ascii数值
    #   break
video_demo()
cv.destroyallwindows()

以上就是python+opencv图像处理——打印图片属性、设置存储路径、调用摄像头的详细内容,更多关于python+opencv图像处理的资料请关注其它相关文章!

《Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头.doc》

下载本文的Word格式文档,以方便收藏与打印。