|
- # import cv2,os
- # import time
- # import subprocess as sp
- # # 图片合并
- # # def readImage():
- # # p1 = cv2.imread("C:/Users/chenyukun/Pictures/Camera Roll/a.jpg")
- # # p2 = cv2.imread("C:/Users/chenyukun/Pictures/Camera Roll/b.jpg")
- # # ret = cv2.add(p1, p2)
- # # cv2.imwrite(r"C:\Users\chenyukun\Pictures\Camera Roll\aa.jpg", ret)
- # #
- # # readImage()
- # # https://opencv.apachecn.org/#/docs/4.0.0/2.1-tutorial_py_image_display
- # if __name__ == "__main__":
- # # print(cv2.__version__)
- # # # 读取图像
- # # p1 = cv2.imread("C:/Users/chenyukun/Pictures/Camera Roll/a.jpg", 0) # 以灰度模式加载图像
- # # p2 = cv2.imread("C:/Users/chenyukun/Pictures/Camera Roll/b.jpg", 1) # **cv.IMREAD_COLOR**:加载彩色图像,任何图像的透明度都会被忽略,它是默认标志
- # # p3 = cv2.imread("C:/Users/chenyukun/Pictures/Camera Roll/b.jpg", -1) # 加载图像,包括 alpha 通道
- # # p4 = cv2.imread("C:/Users/chenyukun/Pictures/Camera Roll/a.jpg")
- # # p5 = cv2.imread("C:/Users/chenyukun/Pictures/Camera Roll/c.jpg")
- # # print(type(p5))
- # # ret = cv2.add(p4, p5)
- # # # 显示图像
- # # cv2.imshow('frame', p1)
- # # cv2.imshow('frame1', p2)
- # # cv2.imshow('frame2', p3)
- # # # 对显示窗口做调整,WINDOW_AUTOSIZE不可调整,WINDOW_NORMAL可调整窗口大小
- # # cv2.namedWindow('frame3', cv2.WINDOW_AUTOSIZE)
- # # cv2.imshow('frame3', ret)
- # # # 等待时间 按下任务键
- # # k = cv2.waitKey(1) & 0xFF
- # # if k == 27: #ESC退出
- # # cv2.destroyAllWindows()
- # # elif k == ord('s'): # 's' 保存退出
- # # # 保存图像
- # # cv2.imwrite("C:/Users/chenyukun/Pictures/Camera Roll/d.jpg", ret)
- # # cv2.destroyAllWindows()
- #
- #
- #
- # # 视频入门
- # try:
- # cap = cv2.VideoCapture("rtmp://live.play.t-aaron.com/live/THSAf_hd") # 0:表示连接一台摄像机
- # print(cap.isOpened())
- # print(cap)
- # except Exception as e:
- # print(e)
- # raise e
- # print("aaaa")
- # # 有时,cap 可能没有初始化 capture。在这种情况下,此代码显示错误。你可以通过该方法 cap.isOpened() 检查它是否初始化。
- # # 如果它是 True,那么是好的,否则用 cap.open() 打开在使用。
- # fps = int(cap.get(cv2.CAP_PROP_FPS))
- # width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
- # height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
- # print(fps,width,height)
- # # # 设置宽
- # # print(cap.set(cv2.CAP_PROP_FRAME_WIDTH, 320))
- # # # 设置高
- # # print(cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 240))
- #
- # # 声明编码器和创建 VideoWrite 对象
- # fourcc = cv2.VideoWriter_fourcc(*'mp4v')
- # out = cv2.VideoWriter('/home/DATA/dsp/ai/video/eee.mp4',fourcc, fps, (width, height))
- # command=['/usr/bin/ffmpeg',
- # '-y', # 覆盖输出文件
- # '-f', 'rawvideo', # 强迫采用格式fmt
- # '-vcodec','rawvideo',
- # '-pix_fmt', 'bgr24',
- # '-s', "{}x{}".format(640, 480),# 图片分辨率
- # '-r', str(25.0),# 视频帧率
- # '-i', '-',
- # '-c:v', 'libx264',
- # '-pix_fmt', 'yuv420p',
- # '-preset', 'ultrafast',
- # '-f', 'flv',
- # "rtmp://live.push.t-aaron.com/live/THSAb"]
- # # p = sp.Popen(command, stdin=sp.PIPE)
- # start = time.time()
- # while True:
- #
- # try:
- # if not cap.isOpened():
- # cap = cv2.VideoCapture("rtmp://live.play.t-aaron.com/live/THSAf_hd")
- # continue
- # # 一帧一帧捕捉
- # ret, frame = cap.read() # 返回一个 bool 值(True/False)。如果加载成功,它会返回True
- # if not ret:
- # cap = cv2.VideoCapture("rtmp://live.play.t-aaron.com/live/THSAf_hd")
- # continue
- # # print(ret) #True
- # # # 我们对帧的操作在这里
- # # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
- # end = time.time()
- # print("bbbbbbbbb")
- # # p.stdin.write(frame.tostring())
- # # print("aaaaa")
- # out.write(frame)
- # except Exception as e:
- # raise e
- # # # 显示返回的每帧
- # # cv2.imshow('frame',gray)
- # # if cv2.waitKey(1) & 0xFF == ord('q'):
- # # break
- # # 当所有事完成,释放 VideoCapture 对象
- # cap.release()
- # out.release()
- # cv2.destroyAllWindows()
|