用什么函数能获取屏幕当前像素值
2010-10-08 21:15
176 查看
我想获取屏幕上正在播放的视频中某点的像素值,但是用getpixel无法实现,整个视频画面的像素值都是(16,0,16),屏幕上其他各处像素值都可以判断,但播放中的视频却不行,请问有什么别的函数可以取得视频中正在变化的某点的像素值?
是啊,我就是这么做的,但是正在播放的视频好像不是在一个层面上的,getpixel取不到。。。悲剧啊,不知道该怎么弄
可能播放软件用了某种特殊的处理方法所以得不到不懂,也许,播放软件发的视频不是用gdi画的,
如果播放软件使用directdraw overlay表面播放视频,
一般是无法抓到视频图像的。可以禁用显卡硬件加速来禁止
播放软件使用overlay,或者打开两个播放进程,这样一般
其中一个就可以抓图了,因为大多数显卡只支持一个overlay.
那得看你是通过什么方式实现视频播放的吧,既然你不能通过GDI来实现视频播放,那当然也不能通过它来获取他的像素。视频文件的解码和编码都没那么简单的,估计你要能用实现播放的方式来获取当前播放的帧数据,然后对数据进行解码得到你所要的数据! 我对视频部分不了解,本人的愚见!个人见解: 在使用QQ截图的时候, QQ会是当前的屏幕"静止", 你可以试试这种方式.
先声明我是一个初学者,对楼主的问题不是很懂,
下面是windows程序设计第八章 计时器 的最后一个例子,
我试过,可以
我想,楼主应该是少了一个计时器吧(用来更新屏幕上点的颜色)
但是正在播放的视频好像不是在一个层面上的,getpixel取不到。。。悲剧啊
VC Dialog 工程, 默认绘图, 最小化时,刷新背景, 实验一下,搞个位图出来,取像素.
我说过我只是一个菜鸟,
我没有学过MFC,我现在学Windows API,正准备学MFC
我只知道MFC就是对Windows API的封装
上面的例子就是用GetPixel函数来取得屏幕上点的颜色的
只是上面的例子是直接使用windows的接口函数API来写的
回复楼上:例子我是从书上贴过来的,
我也运行过了,确实也得到了动画像素颜色的值
定时器只是用来每隔一定的时间(如10毫秒)就读一次屏幕上某点的颜色,对比上一次读的颜色看有没有改变
在去某个点的像素值的时候,可以像在视频流中想保存这一帧的像素值,再根据物理坐标得到像素:
如果是我在操作:
添加一个鼠标左键的响应函数,然后得到这点的物理坐标,同时写一个函数,获取下一帧的的视频数据,并保存,根据获得的物理坐标,索引需要的像素值。以前,摄像头抓拍的时候我就是这样做的。视频流中相相邻两帧之间的差别非常的小仅是处理应该是可以的
来源:英超直播
是啊,我就是这么做的,但是正在播放的视频好像不是在一个层面上的,getpixel取不到。。。悲剧啊,不知道该怎么弄
可能播放软件用了某种特殊的处理方法所以得不到不懂,也许,播放软件发的视频不是用gdi画的,
如果播放软件使用directdraw overlay表面播放视频,
一般是无法抓到视频图像的。可以禁用显卡硬件加速来禁止
播放软件使用overlay,或者打开两个播放进程,这样一般
其中一个就可以抓图了,因为大多数显卡只支持一个overlay.
那得看你是通过什么方式实现视频播放的吧,既然你不能通过GDI来实现视频播放,那当然也不能通过它来获取他的像素。视频文件的解码和编码都没那么简单的,估计你要能用实现播放的方式来获取当前播放的帧数据,然后对数据进行解码得到你所要的数据! 我对视频部分不了解,本人的愚见!个人见解: 在使用QQ截图的时候, QQ会是当前的屏幕"静止", 你可以试试这种方式.
先声明我是一个初学者,对楼主的问题不是很懂,
下面是windows程序设计第八章 计时器 的最后一个例子,
我试过,可以
我想,楼主应该是少了一个计时器吧(用来更新屏幕上点的颜色)
但是正在播放的视频好像不是在一个层面上的,getpixel取不到。。。悲剧啊
VC Dialog 工程, 默认绘图, 最小化时,刷新背景, 实验一下,搞个位图出来,取像素.
我说过我只是一个菜鸟,
我没有学过MFC,我现在学Windows API,正准备学MFC
我只知道MFC就是对Windows API的封装
上面的例子就是用GetPixel函数来取得屏幕上点的颜色的
只是上面的例子是直接使用windows的接口函数API来写的
回复楼上:例子我是从书上贴过来的,
我也运行过了,确实也得到了动画像素颜色的值
定时器只是用来每隔一定的时间(如10毫秒)就读一次屏幕上某点的颜色,对比上一次读的颜色看有没有改变
在去某个点的像素值的时候,可以像在视频流中想保存这一帧的像素值,再根据物理坐标得到像素:
如果是我在操作:
添加一个鼠标左键的响应函数,然后得到这点的物理坐标,同时写一个函数,获取下一帧的的视频数据,并保存,根据获得的物理坐标,索引需要的像素值。以前,摄像头抓拍的时候我就是这样做的。视频流中相相邻两帧之间的差别非常的小仅是处理应该是可以的
来源:英超直播
相关文章推荐
- OpenGL 获取当前屏幕坐标对应的三维坐标,使用很简单glu库中的一个函数
- Android中获取当前屏幕的宽度,高度,像素密度的代码。
- 如何获取屏幕上当前最前面的一幅图像从左上角到右下角的每一个像素 RGB 的值?
- 获取当前屏幕的宽高和像素点
- 获取手机屏幕像素及密度--查看当前调用的布局文件
- 实验 4.3.4 获取 CPU 的当前信息 1. 用sscanf函数获取 CPU 当前信息,输出到屏幕上
- 【全解析】屏幕尺寸,分辨率,像素,PPI之间到底什么关系?
- 安卓开发获取屏幕像素和密度
- iOS 获取当前屏幕显示的viewcontroller
- SQL获取当前日期函数
- Android使用什么的方法来获取屏幕尺寸
- C语言gettimeofday()函数:获取当前时间
- MFC 获取屏幕像素大小
- python 获取当前位置所在的函数名和行号
- Android编程心得-在任意类中获取当前屏幕宽高
- 获取当前屏幕的宽高
- ios 获取当前屏幕的方向 隐藏状态栏
- C#中获取当前执行的函数名、代码行、源码文件名
- cocos2d-x获取程序当前内存使用量 GetProcessMemoryInfo 函数
- andriod 获取当前函数名