草庐IT

Android:访问硬件相机预览帧数据而不绘制它们

根据来自JavaSDK端的android相机文档,必须为相机预览帧提供一个(可见且Activity的)表面,以便绘制到该表面以访问帧数据。我已经链接了我在这里遇到的一些事情(我是新手,所以最多只能有2个超链接),但在结束之前,我浏览了大量关于各种事情的文档,然后在SO上发布我自己的问题。我的问题:a)我明确不想将相机预览绘制到屏幕上,我只想尽可能直接从相机缓冲区中获取字节数据(我可以从此处获取)。b)是的,我看到了这个:Takingpicturefromcamerawithoutpreview.但是,这要求使用此库的应用程序必须将这个(看似)任意的View插入到它们的应用程序布局中,该

android - 显示逐帧动画android的最有效方法

我正在尝试通过更改ImageView中的图像来逐帧显示动画。我尝试在xml中绘制动画,并在处理程序中更改imageview的位图。我还尝试在数组列表中仅存储三个位图(以避免内存不足)作为缓存机制,但改进很少。我需要迭代36张图像以获得完整的动画。我面临的问题是,在我使用的所有方法中,我都无法在给定的50毫秒时间内完成动画。图像的范围从最小的250kb到最大的540kb。动画的fps真的很低。由于应用程序的ios版本已准备就绪,因此我不得不显示与ios版本一致的动画。我是renderscript和opengl的菜鸟。有什么方法可以在50-60毫秒内为大图像显示流畅的动画。非常感谢任何提示

c++ - 使用 DirectShow 捕获帧并使用 OpenCV 进行处理

我已经为视频到图像捕获制定了两种不同的解决方案,并且想知道我是否可以将两个世界的最佳结合起来。我目前正在使用DirectShow加载AVI文件并捕获图像。然而,DirectShow缺乏图像处理能力,而且需要制作额外的过滤器,这让我停滞不前。然后我转向了OpenCV。它具有我需要的所有图像处理功能,但无法加载DirectShow解决方案能够检索的视频。是否有任何关于此过程或类似过程的在线教程?感谢您的任何建议。 最佳答案 是的,这是一篇文章的链接:http://opencv.willowgarage.com/wiki/DirectSh

c++ - 如何在 Windows 8 现代应用程序上从视频流中抓取帧?

我正在尝试从mp4视频流中提取图像。查找内容后,似乎正确的做法是使用C++中的媒体基础并打开框架/从中读取内容。文档和示例很少,但经过一些挖掘,似乎有些人通过将帧读入纹理并将该纹理的内容复制到内存可读纹理(我我什至不确定我在这里使用的术语是否正确)。尝试我发现的东西虽然给了我错误,但我可能做错了很多事情。这是我尝试执行此操作的一小段代码(项目本身附加在底部)。ComPtrspTextureDst;MEDIA::ThrowIfFailed(m_spDX11SwapChain->GetBuffer(0,IID_PPV_ARGS(&spTextureDst)));autorcNormaliz

c++ - 使用 libvlc smem 从视频中获取帧并将其转换为 opencv Mat。 (c++)

[更新了部分答案]这是我的代码:voidcbVideoPrerender(void*p_video_data,uint8_t**pp_pixel_buffer,intsize){//LockingimageMutex.lock();videoBuffer=(uint8_t*)malloc(size);*pp_pixel_buffer=videoBuffer;}voidcbVideoPostrender(void*p_video_data,uint8_t*p_pixel_buffer,intwidth,intheight,intpixel_pitch,intsize,int64_tpts

c++ - mac 上 gdb 7.6 断言缺少调用堆栈帧

在调试断言失败的程序时,我无法在gdb中获取调用堆栈。我在Mavericks上使用Homebrew的g++4.8和gdb。/usr/local/bin/g++-4.8--versiong++-4.8(GCC)4.8.2/usr/local/bin/gdb--versionGNUgdb(GDB)7.6.2这是重构问题的最小测试//test.cpp#include#includeintmain(){inti=42;std::cout编译和使用/usr/local/bin/g++-4.8-g-ctest.cpp-otest.o/usr/local/bin/g++-4.8-gtest.o-ot

c++ - 栈帧问题 : Java vs C++

Q1。在Java中,所有对象、数组和类变量都存储在堆上?C++也是这样吗?数据段是堆的一部分吗?下面的C++代码呢?classMyClass{private:staticintcounter;staticintnumber;};MyClass::number=100;Q2。据我了解,编译器赋予特定值的变量存储在数据段中,未初始化的全局变量和静态变量存储在BSS(Blockstartedbysymbol)中。在这种情况下,静态的MyClass::counter被编译器初始化为零,因此它存储在BSS中,而初始化为100的MyClass::number存储在数据段中。我的结论是否正确?Q3。

c++ - 是否应该每帧重建八叉树?

使用octree时对于游戏中的碰撞检测,是否应该每帧都重建树,还是有更好的方法假设一半的对象在一帧中移动? 最佳答案 如果您的场景中有很多静态几何体,请考虑构建单独的八叉树。您还可以通过使用更复杂的叶节点来区分静态和非静态几何图形来表达相同的想法。底线:只重新生成您必须重新生成的内容。 关于c++-是否应该每帧重建八叉树?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/43247

c++ - OpenCV在视频中查找图片(帧)

我正在尝试用C++创建小型应用程序,它将返回概率值(从0到1的实数)以识别视频中的两张图片。我的想法是在某些视频资料中找到商业广告。我正在考虑从商业广告中剪下第一帧和最后一帧。通过这种方式,我可以使用OpenCV创建应用程序,该应用程序将加载视频(电视内容),然后它将搜索广告中出现的第一帧。如果它找到它(概率大于SOME_PARAMETER),则应用可以断定广告从那里开始。然后我想搜索最后一帧,如果找到它(再次概率大于SOME_PARAMETER),那么应用程序可以得出结论,想要的商业广告确实存在于给定的视频中。这只是一个想法。我是C++专家,但对OpenCV完全是新手。如果有人可以指

c++ - 在 OpenCV 中检索当前帧号

如何使用OpenCV检索视频的当前帧编号?OpenCV是否有任何内置函数来获取当前帧,或者我必须手动完成? 最佳答案 您可以像下面这样使用捕获对象的“get”方法:capture.get(CV_CAP_PROP_POS_FRAMES);//retrievesthecurrentframenumber还有:capture.get(CV_CAP_PROP_FRAME_COUNT);//returnsthenumberoftotalframes顺便说一句,这些方法返回一个double值。您也可以使用cvGetCaptureProperty