Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何创建此桌面录音机?_C++_C_Windows_Image Processing_Desktop - Fatal编程技术网

C++ 如何创建此桌面录音机?

C++ 如何创建此桌面录音机?,c++,c,windows,image-processing,desktop,C++,C,Windows,Image Processing,Desktop,我想创建一个桌面录音机,需要很少的高清空间 它应该将当前显示捕获到缓冲区中,将其与前一状态进行比较,并仅保存与前一状态不同的矩形 我必须使用什么API、函数或库?请考虑使用Windows Media屏幕捕获编码器执行此任务。您将把捕获的帧馈送给它,它将完成其余工作,并为您创建高效的wmv文件。如果您只想保存每个帧之间的差异,只需使用减法即可。只需从图像(t)中减去图像(t+1)处的颜色值。。。所有保持平等的部分都没有改变。。。只有不同的部分才会产生非零的结果。然后可以提取它周围的矩形并保存它们。

我想创建一个桌面录音机,需要很少的高清空间

它应该将当前显示捕获到缓冲区中,将其与前一状态进行比较,并仅保存与前一状态不同的矩形


我必须使用什么API、函数或库?

请考虑使用Windows Media屏幕捕获编码器执行此任务。您将把捕获的帧馈送给它,它将完成其余工作,并为您创建高效的wmv文件。

如果您只想保存每个帧之间的差异,只需使用减法即可。只需从图像(t)中减去图像(t+1)处的颜色值。。。所有保持平等的部分都没有改变。。。只有不同的部分才会产生非零的结果。然后可以提取它周围的矩形并保存它们。但是当然要注意,因为可能会有不止一个部分发生变化,当然,你可能想保存每个部分,而不是保存包含所有变化的大矩形

你可以用OpenCV来做这个。。。它具有图像减法、矩形拟合、裁剪等基本功能


希望有帮助……

您正在编写键盘记录器/特洛伊木马程序吗?你之前的问题让我想起了。我正在写一个像camstudio这样的程序。你是否也通过网络发送它,隐藏它的初始化并监视其他应用程序正在做什么?我呼吁适度关注。对不起。事实上,似乎有某种。。。“趋势”吸引了来自多个用户的大量负面信息。SO人群是一个非常直率的群体;我不确定这是否一定是一个合适的地方来拼凑一个不可见的屏幕传输、系统监控、自动运行的ghost应用程序。@Marc,然后该怎么办?这应该用Meta治疗吗?向下投票似乎不合适,为什么不呢?黑色像素的灰度值为0(如果我们现在只假设一个通道,也适用于RGB)。从另一个灰度值“x”中减去0将留下x,并且不会得到零。只有两幅图像中灰度值相同的像素才会导致0 wenn相减。唯一的缺点是,如果某种同质区域在屏幕上移动,则会产生某种重影效果。该方法仅检测外部零件。但是有一些方法可以消除这种影响,比如看下面三张图片。