写入视频:

import sys, os
import cv2
imgDir = '/Users/xxx/salient/'
videoName = 'vname'
fps = 30 #帧频
output_size = (720,1280) #先宽,后高
videoWriter = cv2.VideoWriter(videoName + '_out.avi',cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), fps, output_size) #不指定isColor,默认为1
for i in xrange(215):
imgname = imgDir+videoName+"_s"+str(i)+".jpg"
im = cv2.imread(imgname)
videoWriter.write(im)
videoWriter.release()

参考python-opencv将图片 / 视频帧写为视频,基本就是这样,但写出来的视频无论如何都是6KB,要注意图片格式和VideoWriter里指定的格式要一致,但我的不是这个原因。

因为读入的是显著性图,长这样:

自以为是灰度图(一个错误导致的第二个错误,保存的时候应该选择bmp格式),用了:

videoWriter = cv2.VideoWriter(videoName + '_out.avi',cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), fps, output_size,isColor=False) #isColor=0表示单色图

但是jpg格式是三通道的,如果用jpg保存灰度图,结果是b g r三个通道保存同样的像素值,因此去掉VideoWriter里面的isColor=False或把三个通道分离以后保存任意通道均可。

代码:

import cv2
imgDir = '/Users/xxx/salient/'
videoName = 'vname'
fps = 30
output_size = (720,1280)
videoWriter = cv2.VideoWriter(videoName + '_out.avi',cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), fps, output_size, isColor=False) #指定写单通道视频
for i in xrange(215):
imgname = imgDir+videoName+"_s"+str(i)+".jpg"
im = cv2.imread(imgname)
b,g,r = cv2.split(im) #bgr通道分离
videoWriter.write(b) #任意写入一个通道即可
videoWriter.release()

OpenCV学习笔记(二) - 写入视频、jpg格式的更多相关文章

  1. OpenCV学习笔记二:OpenCV模块一览

    注:本系列博客基于OpenCV 2.9.0.0 一,一览图: 二,模块: /* 基础库 */ 1,opencv_core(链接) ,opencv最基础的库.包含exception,point,rect ...

  2. 【opencv学习笔记二】opencv3.4.0组件结构说明

    在学习opencv使用之前我们先来看一下opencv有哪些组件结构.至于OpenCV组件结构的研究方法, 我们不妨管中窥豹,通过opencv安装路径下include目录里面头文件的分类存放,来一窥Op ...

  3. OpenCV学习笔记二十:opencv_ts模块

    一,简介: OpenCV测试库,用于单元测试.

  4. opencv学习笔记二

    1,读取照片(imread()) 2,处理照片(cvtcolor()) 3,命名窗口(namewindow()) 4,显示照片(imshow()) 5,保存照片(imwrite()) #include ...

  5. opencv学习笔记(二)寻找轮廓

    opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...

  6. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

  7. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  8. opencv学习笔记(一)IplImage, CvMat, Mat 的关系

    opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...

  9. OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法

    函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...

随机推荐

  1. hadoop解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.问题

    先看下自己的JAVA_HOME里面有没有空格目录,如果有的话,先把JAVA_HOME换个没空格的位置. 在windows系统本地运行spark的wordcount程序,会出现一个异常,但不影响现有程序 ...

  2. 小甲鱼Python第二十一讲课后习题

    测试题: 0.  递归在编程上的形式是如何表现的呢? 在编程上,递归表现为函数调用本身这么一个行为. 1.  递归必须满足哪两个基本条件? 一.        函数调用自身二.        设置了正 ...

  3. 51nod 1387 移数字

    任意门 回来拉模版的时候意外发现这个题还没写题解,所以就随便补点吧. 题意其实就是要你求n的阶乘在模意义下的值. 首先找出来一个最大的$m$满足$m^2<=n$,对于大于$m^2$部分的数我们直 ...

  4. __http原理__HTTP 协议简介

    HTTP 协议通信流程 超文本 除了文本以外,还有其他数据类型的内容 HTTP 协议 指计算机网络通信中 两台计算机之间所必须遵守的规定或规则 Hypertext Transport Protocol ...

  5. 8. 环境变量_数据库_mongoose的基本使用_模型对象的CRUD

    1. 环境变量 系统环境(cmd)使用的变量/命令 能够让我们在cmd环境下运行指定的程序 用户环境变量 path(我们一般设置这个) 系统环境变量 path 过程: 当我们在cmd中输入一个指令 先 ...

  6. prometheus + grafana + node_exporter + alertmanager 的安装部署与邮件报警 (一)

    大家一定要先看详细的理论教程,再开始搭建,这样报错后才容易找到突破口 参考文档 https://www.cnblogs.com/afterdawn/p/9020129.html https://www ...

  7. crawlspider

    Scrapy中CrawSpider 回头看: 之前的代码中,我们有很大一部分时间在寻找下一页的url地址或者是内容的url地址或者是内容的url地址上面,这个过程能更简单一些么? 思路: 1. 从re ...

  8. jdk1.8的环境下打包成jdk1.6

    第一步: 选中项目 ------->properties 第二部:(修改java build path和java conpiler) 第三部:需要打包成jdk6的jar包,就改成jre6. 注意 ...

  9. 循环结构while

    Note:高能:语句结构都是由关键字开头,用冒号结束! 一:语句结构        while 判断条件:            语句  二:基本规则 (1)使用缩进来划分语句块,相同缩进数的语句在一 ...

  10. iniReader,读取配置文件中数据

    #include ”IniOperation.h" CString strPath = strIntancePath + _T("..\\config.ini"); // ...