使用opencv显示图像时会出现图像倒立的情况,IplImage的origin属性有关系。origin为0表示顶左结构,即图像的原点是左上角,如果为1为左下角。一般从硬盘读入的图片或者通过cvCreateImage方法创建的IplImage图片默认的origin为0,即显示的时候都是正的。而由摄像头或者视频文件获取的帧图像origin为1,此时显示的时候扫描顺序是从下到上,显示也是正的(opencv显示的时候是根据origin的值显示的,如果origin=1,则从下到上显示,否则反之)。但是如果你自己创建了一个IplImage格式的图像img,且从帧图像中copy或者截取一部分区域进行显示的时候就会出现倒立情况。这是因为cvCreateImage方法得到的img的origin是0,而帧图像的origin为1,它会将帧图像的第i行赋值给img的第height-i行,因此就出现了倒立.解决办法是:在创建之后将origin调整为与帧图像的origin一致即可。
         IplImage* face=cvCreateImage(cvSize(width,height),copy_Frame->depth,copy_Frame->nChannels);
        //因为IplImage的origin=0,所以要先将face->origin改为1
        face->origin=copy_Frame->origin;//1

在使用opencv显示图像时会出现图像倒立的情况,与IplImage的origin属性有关系。
origin()const;
返回影象结构。0-顶—左结构,1-底—左结构 (Windows bitmaps 风格)。
origin为0表示顶左结构,即图像的原点是左上角,如果为1为左下角。一般从硬盘读入的图片或者通过cvCreateImage方法创建的IplImage图片默认的origin为0,即显示的时候都是正的。而由摄像头或者视频文件获取的帧图像origin为1,此时显示的时候扫描顺序是从下到上,显示也是正的(opencv显示的时候是根据origin的值显示的,如果origin=1,则从下到上显示,否则反之)。
IplImage* frame1;
frame1->origin = 1;
 cvShowImage("Optical Flow", frame1);    //这样就是正的了。

opencv处理视频颠倒问题相关推荐

  1. OpenCV读写视频文件解析(二)

    OpenCV读写视频文件解析(二) VideoCapture::set 设置视频捕获中的属性. C++: bool VideoCapture::set(int propId, double value ...

  2. OpenCV读写视频文件解析

    OpenCV读写视频文件解析 一.视频读写类 视频处理的是运动图像,而不是静止图像.视频资源可以是一个专用摄像机.网络摄像头.视频文件或图像文件序列. 在OpenCV 中,VideoCapture 类 ...

  3. 解决Python OpenCV 读取视频并抽帧出现error while decoding的问题

    解决Python OpenCV 读取视频抽帧出现error while decoding的问题 1. 问题 2. 解决 3. 源代码 参考 1. 问题 读取H264视频,抽帧视频并保存,报错如下: [ ...

  4. 使用Python,OpenCV读取视频的每一帧,修改后写入视频

    使用OpenCV 3将视频写入文件,并保存在自己的磁盘上 尝试支持avi.MP4文件格式的写入,俩种文件的编码格式不一致 codec: MJPG output: example.avi codec: ...

  5. 使用Python,OpenCV在视频中进行实时条形码检测

    使用Python,OpenCV在视频中进行实时条形码检测 1. 步骤 2. 适用场景及优化 3. 总结 4. 源码 参考 上一篇博客介绍了如何检测和查找图像中的条形码.这篇博客将进行一些优化以检测实时 ...

  6. 用C++ 和OpenCV 实现视频目标检测(YOLOv4模型)

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 据说,现在很多小区都上线了AI抓拍高空抛物的黑科技,可以自动分析抛物 ...

  7. 基于OpenCV的视频处理管道

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目前可依靠模块化方式实现图像处理管道,检测一堆图像文件中的人脸,并 ...

  8. opencv cv2 视频延迟

    场景:想要用 opencv 导入视频做运动监测 遇到的问题:发现视频不是按源的帧数播放,而是变慢了 通过OpenCV 的文档看到了: "If it is too less, video wi ...

  9. Atitit Java OpenCV 捕获视频

    Atitit Java  OpenCV 捕获视频 ,打开一段视频或默认的摄像头 有两种方法,一种是在定义类的时候,一种是用open()方法. 一. 读取视频序列 OpenCV提供了一个简便易用的框架以 ...

最新文章

  1. CentOS 5.5高负载下,网卡会自动断开
  2. 5.解决UltraEdit在无网线情况下连接不到虚拟机上的问题,回环网卡设置
  3. 第2章 一切都是对象
  4. mybatis 依赖于jdbc_优于jdbc的mybatis框架入门
  5. zend studio怎么打开一个已有项目
  6. python递归查找值返回_python – 从树递归中返回值列表
  7. Linux安装webmin
  8. 为archlinux选择国内镜像
  9. php出现photo.scr,u盘中了scr病毒怎么办
  10. MySQL高级学习(一) (吾爱破解)
  11. 魔方cfop公式软件_易烊千玺弟弟7岁破魔方世界纪录,记忆力和毅力惊人
  12. 元宇宙三巨头Animoca Brands、Yuga Labs、Gala多维度对比,谁才是未来?
  13. 骨传导耳机和普通耳机危害哪个小?骨传导耳机
  14. 下一个五年,存储的生意在哪里?
  15. nrf52832使用ble+2.4G(Gzll)遇到的问题
  16. 极客日报:腾讯回应“接入抖音平台”;苹果因搜查员工赔偿近3000万美元;新版Win11黑屏重新改回蓝屏
  17. ar面部识别_AR公司Blippar 发布新的面部识别APP丨蛙游网
  18. 【python】使用python中的pillow生成gif动态图
  19. 【回答问题】ChatGPT上线了!给我推荐20个比较流行的nlp预训练模型
  20. 年轻的朋友们,我们来相会!

热门文章

  1. ebook site
  2. 遍历Page的Controls集合
  3. php大转盘,php大转盘
  4. SqlServer存储过程调用接口
  5. 1)vmware station 14下安装linux系统
  6. 2018 开始认真学习点python
  7. 我的地盘我做主—玩转Python函数和变量
  8. 通过CSS来垂直居中文本
  9. Pascal 语言中的关键字及保留字
  10. iOS开发进阶教程【第一季小试牛刀】