博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python+OpenCV图像处理(二)——打印图片属性、设置图片存储路径、电脑摄像头的调取和显示...
阅读量:5942 次
发布时间:2019-06-19

本文共 1648 字,大约阅读时间需要 5 分钟。

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

代码如下:

#打印图片的属性、保存图片位置import cv2 as cvimport 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 cvdef 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数值        #     breakvideo_demo()cv.destroyAllWindows()

 

转载于:https://www.cnblogs.com/FHC1994/p/8994728.html

你可能感兴趣的文章
知识点2-对二进制的运用
查看>>
PAT 1102 Invert a Binary Tree[比较简单]
查看>>
理解 JavaScript 作用域和作用域链
查看>>
Beta冲刺提交-星期四
查看>>
人工神经网络
查看>>
信用分计算(自研)
查看>>
055——VUE中vue-router之路由参数的随意设置与伪静态链接地址处理:
查看>>
迭代器
查看>>
性能压测,SQL查询异常
查看>>
JMessage Android 端开发详解
查看>>
Console命令详解,让调试js代码变得更简单
查看>>
一本通 1285:最大上升子序列和
查看>>
关于UseSubmitBehavior和OnClientClick同时使用,导致无法触发后台事件的问题
查看>>
《小岛经济学--鱼、美元和经济的故事》Digest
查看>>
深入浅出 消息队列 ActiveMQ(转)
查看>>
oracle client server那点事
查看>>
坐飞机的一个现象
查看>>
SSH学习笔记(一)
查看>>
android:layout_weight的真实含义
查看>>
挂载磁盘
查看>>