智能家居网站建设方案,做网站赚钱 2017,北京手机网站设计费用,app小程序怎么开发一.读取图像文件并展示
灰度图像#xff1a; 灰度图需要用 8 位二进制来表示#xff0c;取值范围是 0-255。用 0 表示 0#xff08;黑色#xff09;#xff0c; 用 255 表示 1#xff08;白色#xff09;#xff0c;取值越大表示该点越亮。
RGB 彩色图像#xff1a;…一.读取图像文件并展示
灰度图像 灰度图需要用 8 位二进制来表示取值范围是 0-255。用 0 表示 0黑色 用 255 表示 1白色取值越大表示该点越亮。
RGB 彩色图像 RGB 图像就是一张像素由三个值来表示的图片三个值分别表示红、绿、蓝三种 颜色的程度。如果一个像素的红色程度是 255其它两个颜色程度是 0那么这个像素在我们 看来就是红色的通过这三种颜色的搭配我们可以配出 4294967296 种不同的颜色。
代码实践
demo01_imread.py
import cv2 # opencv的缩写为cv2导入opencvimg1 cv2.imread(lena.png, 0) # flags参数为0返回灰色图像
img2 cv2.imread(lena.png, 1) # flags参数为1返回彩色图像
cv2.imshow(灰度图, img1) # imshow函数现实处理结果
cv2.imshow(彩色图, img2)
cv2.waitKey(0) # 等待下一次按键按下
cv2.imread()函数功能读取图像文件。 函数原型cv2.imread(filename,flagsNone)
参数定义 第一个参数 filename指要加载的图片路径。 第二个参数为载入标识指定一个加载图像的颜色类型默认值为 1。
flags 取值 CV_LOAD_IMAGE_UNCHANGED——等价取值为-1这个标识在新版本中已被废置。 CV_LOAD_IMAGE_GRAYSCALE——等价取值为 0返回灰色图像。 CV_LOAD_IMAGE_COLOR——等价取值为 1返回彩色图像。 CV_LOAD_IMAGE_ANYDEPTH——等价取值为 2若图像深度是 16 位或者 32 位就返回对 应深度否则返回 8 位图像如果输入有冲突的标志将采用较小的数字值。
imread()函数载入图像并展示。 二.写入图像文件信息
demo02_imwrite.py
import cv2 # opencv的缩写为cv2导入opencvimg cv2.imread(lena.png, 0) # flags参数为0返回灰色图像
cv2.imshow(灰度图, img) # imshow函数现实处理结果
cv2.imwrite(lena_gray.png, img) # imwrite写入读取到的图像并命名为lena_gray.png
cv2.waitKey(0) # 等待下一次按键按下
cv2.imwrite()函数功能 写入图像文件信息。
函数原型 cv2.imwrite(filename,img,paramsNone)
参数定义 img_path_name:保存的文件名 img文件对象 params特定格式下保存的参数编码一般情况下为 None。 三.读取视频文件
demo03_VideoCapture.py
import cv2video_capture cv2.VideoCapture(test.mp4) # 使用VideoCapture函数读取名为test.mp4的视频文件
frame_num video_capture.get(cv2.CAP_PROP_FRAME_COUNT) # 使用video_capture.get函数获取总帧数
print(总帧数为 %f % frame_num)
fps video_capture.get(cv2.CAP_PROP_FPS) # 使用video_capture.get函数获取帧率
print(帧率为 %f % fps)
width video_capture.get(cv2.CAP_PROP_FRAME_WIDTH) # 使用video_capture.get函数获取视频宽度
print(视频宽度为 %f % width)
height video_capture.get(cv2.CAP_PROP_FRAME_HEIGHT) # 使用video_capture.get函数获取视频高度
print(视频高度为 %f % height)
cv2.VideoCapture() 函数功能初始化 VideoCapture 类并利用构造函数读入该视频的当前帧。
函数原型cv2.VideoCapture(*args,**kwargs)
参数定义 一般仅填入一个即文件名。如果填入整数则打开对应的捕获设备 ID。若为 0则打 开默认摄像头。
VideoCapture.get 函数功能返回该视频的 propld 所指定的属性。
函数原型VideoCapture.get(self,propld)
参数定义 propld为需要读取的视频属性参数位一般以 cv2.CAP_PROP_ 开头部分常用参数如 下表所示 四.播放视频文件
demo04_videoplayback.py
import cv2 # opencv的缩写为cv2导入opencvcap cv2.VideoCapture(0) # 使用VideoCapture函数读取名为test.mp4的视频文件
fps cap.get(cv2.CAP_PROP_FPS) # 使用video_capture.get函数获取帧率
while True: # while循环能持续播放读取到的视频ret, frame cap.read() # 使用read()函数读取图像的帧一次循环读取一帧cv2.imshow(video, frame) # 使用imshow()函数对读取到的帧进行显示if cv2.waitKey(int(1000 / fps)) 0xFF ord(q): # 设置视频播放完成和按下q键退出break
cap.release() # 释放cap
cv2.destroyAllWindows() # 关闭窗口清除程序所占用的内存python demo04_videoplayback.py 无法播放视频待bug。。。