Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
一. 打印图片属性、设置图片存储路径
代码如下:
#打印图片的属性、保存图片位置
importcv2ascv
importnumpyasnp#numpy是一个开源的Python科学计算库
defget_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()
二.电脑摄像头的调取和显示
代码如下:
#电脑摄像头的调取和显示
importcv2ascv
defvideo_demo():
capture=cv.VideoCapture(0)
#参数为视频设备的id,如果只有一个摄像头可以填0,表示打开默认的摄像头这里的参数也可以是视频文件名路径,只要把视频文件的具体路径写进去就好
whileTrue:#只要没跳出循环,则会循环播放每一帧,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
ifpc>0:
break
#ifcv.waitKey(10)==ord('z'):#键盘输入z退出窗口,不按z点击关闭会一直关不掉也可以设置成其他键。ord()函数返回对应字符的ASCII数值
#break
video_demo()
cv.destroyAllWindows()
以上就是Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头的详细内容,更多关于Python+OpenCV图像处理的资料请关注毛票票其它相关文章!