您现在的位置是:主页 > news > 广州seo软件/怀柔网站整站优化公司

广州seo软件/怀柔网站整站优化公司

admin2025/6/14 12:09:11news

简介广州seo软件,怀柔网站整站优化公司,铁路建设监理网站,.ent做的网站有哪些小白学python(opencv图像加载与保存)图像加载图像保存视频操作摄像头操作从文件中播放视频添加读取fps,大小,时长功能总体代码:图像加载 import cv2 as cvsrc cv.imread("C:/Users/POG/Pictures/Autumn is com…

广州seo软件,怀柔网站整站优化公司,铁路建设监理网站,.ent做的网站有哪些小白学python(opencv图像加载与保存)图像加载图像保存视频操作摄像头操作从文件中播放视频添加读取fps,大小,时长功能总体代码:图像加载 import cv2 as cvsrc cv.imread("C:/Users/POG/Pictures/Autumn is com…

小白学python(opencv图像加载与保存)

  • 图像加载
    • 图像保存
  • 视频操作
    • 摄像头操作
    • 从文件中播放视频
    • 添加读取fps,大小,时长功能
  • 总体代码:

图像加载

import cv2  as cvsrc = cv.imread("C:/Users/POG/Pictures/Autumn is coming WallPack/Timon Studler Mod.jpg")#读取图片
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)#创建窗口
cv.imshow("input image",src)#把图片放到窗口中去
cv.waitKey(0) #没有的话直接就退出了
cv.destroyAllWindows()

上面是主体,用上面的图片进行读取里面的格式类型
我们定义一个测试函数

def get_image_info(image):print(type(image))#图像类型print(image.shape)#高,宽,通道数目print(image.size)#大小print(image.dtype)

此处注意python为解释型语言,一行一行运行,所以先定义函数再运行主体。
也可以定义主函数,用

if __name__ =="__main__":main()

方式并放到结尾,程序就会所有读取完再进行主函数,那么单个函数就无所谓放哪了。
结果为:
在这里插入图片描述
类型为numpy.ndarray
即高为2880,长5120,三通道;
44236830=288051203;

图像保存

在main加一句:

cv.imwrite("D:/result.png",src)

在这里插入图片描述

视频操作

摄像头操作

代码为

def video_demo():capture = cv.VideoCapture(0) #0为打开一个摄像头while(True):ret,frame = capture.read()frame= cv.flip(frame,1) #镜像调换cv.imshow("video",frame)c = cv.waitKey(50)if (c==27):    #esc为27,按esc即退出break

运行结果为:
在这里插入图片描述
cap.read():返回一个布尔值(True / False)。如果帧被正确读取,则返回true,否则返回false。可以通过检查这个返回值来判断视频是否结束。

从文件中播放视频

和从相机捕获视频相同,只需更改相机索引与视频文件名。 在显示帧时,选择适当的cv2.waitKey()时间,如果该值太小,视频会非常快,如果它太大,视频会很慢(这可以用来慢动作显示视频)。 正常情况下,25毫秒即可。(差不多??)

def video_demo():capture = cv.VideoCapture("E:/电影/[阳光电影www.ygdy8.com].疾速特攻.BD.720p.中英双字幕.mkv") #简简单单把0改为电影路径即可while(True):ret,frame = capture.read()frame= cv.flip(frame,1) #镜像调换cv.imshow("video",frame)c = cv.waitKey(50)if (c==27):    #esc为27,按esc即退出break

添加读取fps,大小,时长功能

def video_demo():#调用摄像头capture = cv.VideoCapture("E:/电影/[阳光电影www.ygdy8.com].疾速特攻.BD.720p.中英双字幕.mkv")while(True):ret,frame = capture.read()frame=cv.flip(frame,1)# 读取视频的fps,  大小fps=capture.get(cv.CAP_PROP_FPS)size=(capture.get(cv.CAP_PROP_FRAME_WIDTH),capture.get(cv.CAP_PROP_FRAME_HEIGHT))print("fps: {}\nsize: {}".format(fps,size))# 读取视频时长(帧总数)total = int(capture.get(cv.CAP_PROP_FRAME_COUNT))print("[INFO] {} total frames in video".format(total))cv.imshow("video",frame)c = cv.waitKey(50)if (c==27):    #esc为27break

总体代码:

import cv2  as cv
import  numpy as np
def main():src = cv.imread("C:/Users/POG/Pictures/Autumn is coming WallPack/Timon Studler Mod.jpg")cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)cv.imshow("input image",src)video_demo()cv.waitKey(0)cv.destroyAllWindows()get_image_info(src)cv.imwrite("D:/result.png",src)def get_image_info(image):print(type(image))print(image.shape)print(image.size)print(image.dtype)pixel_data = np.array(image)print(pixel_data)def video_demo():#调用摄像头capture = cv.VideoCapture("E:/电影/[阳光电影www.ygdy8.com].疾速特攻.BD.720p.中英双字幕.mkv")while(True):ret,frame = capture.read()frame=cv.flip(frame,1)# 读取视频的fps,  大小fps=capture.get(cv.CAP_PROP_FPS)size=(capture.get(cv.CAP_PROP_FRAME_WIDTH),capture.get(cv.CAP_PROP_FRAME_HEIGHT))print("fps: {}\nsize: {}".format(fps,size))# 读取视频时长(帧总数)total = int(capture.get(cv.CAP_PROP_FRAME_COUNT))print("[INFO] {} total frames in video".format(total))cv.imshow("video",frame)c = cv.waitKey(50)if (c==27):    #esc为27breakif __name__ =="__main__":main()

运行截图:
在这里插入图片描述