directshow视频旋转90度

转载 2016年08月29日 11:21:01

想做一个transform filter完成视频数据的旋转,参考了SDK sample里的EZRGB24那个例子,现在对视频数据修改没问题了。现在的问题是:在transform filter 中如何改变数据类型呢(因为视频旋转90度要互换长宽),要保证下游滤波器长宽也是互换的。

 

1、其实很简单,在你的transfilter的outpin中设置输出格式,把长宽换掉就可以了。主要涉及getmediatype和checkmediatype. 修改后,下游fitler就可以识别格式,并正确联接Render.

 

2、如果你采用DirectShow自带的Render,由于其采用封闭的方式绘图,那么你可以创建一个中间Filter,在sample里将数据颠倒一下即可。如果你自己写Render的话,那就用Blt直接对调Top和Buttom的坐标即可,但是由于采用GDI的绘图函数,效率比较低,无法充分利用显示卡。

 

3、direct9的VMR就可以实现!vmr7和vmr9都可以,sdk中的VMRXcl例子就可以,比vmr9中的例子vmr9allocator容易一点(试试)

 

4、如果pin的画面大小是320*240,那么旋转90度后画面大小为240*320,我应该怎么编程实现呢?  
          AM_MEDIA_TYPE*   pType   =   pIN->GetMediaType();  
          VIDEOINFOHEADER   *pvi   =   (VIDEOINFOHEADER   *)   pType->pbFormat;  
          ASSERT(pvi);  
   
          CheckPointer(pMediaSample,E_POINTER);  
          pMediaSample->GetPointer(&pData);  
          lDataLen   =   pMediaSample->GetSize();  
   
          //   Get   the   image   properties   from   the   BITMAPINFOHEADER  
   
          int   cxImage         =   pvi->bmiHeader.biWidth;  
          int   cyImage         =   pvi->bmiHeader.biHeight;  
          int   numPixels     =   cxImage   *   cyImage;  
  接下来怎么作?如何设置pOut?

directshow 旋转90度算法

  • 2012年09月05日 11:33
  • 1KB
  • 下载

DirectShow获取视频数据帧

  • 2012年02月06日 16:51
  • 1.22MB
  • 下载

DirectShow中利用SampleGrabber捕获摄像头每一帧图像,并转为BMP文件信息写入内存

关于怎样枚举设备、建立Filter Graph等问题,我就不多说了,说也说不清楚,因为我也是才接触DirectShow。网上这类资料还是很多,百度知道的比我多多了。这里主要介绍一下自己在学习了Stil...
  • yangpan011
  • yangpan011
  • 2016年09月20日 15:43
  • 406

Android Camera拍照预览图片90度旋转

Camera拍照: 做照相机程序,结果写好了发现出问题了,预览的图像差90度。相关源代码如下:    Camera.Parameters params = camera.getParameters...
  • qq_31307919
  • qq_31307919
  • 2016年05月03日 14:27
  • 3315

使用Camera类, 旋转90预览图像的问题

今天尝试用Camera对象获取摄像头拍照,预览时候发现图片逆时针旋转90度。 解决方法: 一、 原来Camera对象假定方向是水平或者横向模式,旋转修正最简单的方法是以横向模式显示,可以在Act...
  • yes1cpp
  • yes1cpp
  • 2014年02月26日 20:51
  • 3105

iOS 视频旋转及平移详解

//必须是fileURL //截取将会是视频的中间部分 //这里假设拍摄出来的视频总是高大于宽的 /*! @method mergeAndExportVideosAtFileURLs: @p...
  • jeffasd
  • jeffasd
  • 2016年07月12日 10:59
  • 5719

摄像头camera 旋转90度 解决方法

拍照需要竖屏时的解决方法。 zxing官方wiki上面的解决办法。 基本思路如下。 There are 4 relative files: 1.manifest.xml, you need...
  • flyingfox023
  • flyingfox023
  • 2014年04月21日 15:10
  • 3649

将视频旋转90度的解决方法

我使用的是HTC G7的手机,用手机拍到的视频拿到电脑上来播放,需要偏着头来看,有时视频甚至是倒立着的。因此,我一直在寻思着如何解决这个问题,但在今天,我终于找到了一个完美的解决方案,能将视频按照需要...
  • killer000777
  • killer000777
  • 2013年01月02日 13:13
  • 6485

图片的每点击一次旋转90度, filter和css3属性

ImageRotation                                                          #container {         ...
  • zz_whw
  • zz_whw
  • 2017年04月19日 15:20
  • 1096

人人都来写算法 之 矩阵顺时针旋转90度,空间效率O(1),时间效率O(n*n)

给你一个矩形图片,假设每位像素是用整形标识,将图片位图顺时针旋转90度。空间复杂度O(i), 时间复杂度O(n*n) 两种方案可以选择: 1. 利用图片矩形的特性,将其剥洋葱一样,一层一层处理...
  • johnnyelf83
  • johnnyelf83
  • 2013年08月13日 17:38
  • 2125
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:directshow视频旋转90度
举报原因:
原因补充:

(最多只允许输入30个字)