我已经完成了艰苦的工作,将我的MacBook上的iSight摄像头转换为红外摄像头,转换它,设置阈值等等.现在有一个看起来像这样的图像:
我现在的问题是; 我需要通过分组白色像素来了解我的图像上有多少斑点.我不想使用cvBlob/ cvBlobsLib,我宁愿只使用OpenCV中已有的东西.
我可以通过检查(阈值)触摸白色像素来循环像素并对它们进行分组,但我猜测从OpenCV可能有一种非常简单的方法吗?
我猜我不能使用,cvFindContours因为这将检索一个大数组中的所有白色像素,而不是将它们分成"组".谁能推荐?(注意这些不是圆圈,只是从小红外LED发出的光)
提前谢谢了!
tommed
如何使用Emgu CV或OpenCV进行运动跟踪?这有什么不同的方式?
我想跟踪固定背景下的对象.
最好的祝福
我正在查看 ffmpeg 的文档,但很难找到解决方法。
有没有办法为视频中的特定范围添加模糊效果。
示例:1 分钟的视频。我想模糊秒 30-35。
这可能吗?如果可能,命令是什么样的?
有没有办法从音频/视频中删除人声。所以最终音乐就留在了上面。
我想使用任何软件(如 adobe 等)或命令行(如 ffmpeg/sox)来执行此操作。
但我更喜欢命令行来轻松调整设置。
我的目标是从给定的图像序列中创建一个具有更易读的车牌号的增强图像,其中驾驶汽车的车牌难以区分,如下面的序列。

如您所见,车牌号在大多数情况下是无法区分的。我正在研究用于增强多帧超分辨率的实现(正如我在本文中研究的那样:http : //users.soe.ucsc.edu/~milanfar/publications/journal/SRfinal.pdf)。我对 OpenCV 有一些经验,我正在寻求帮助以采取什么方向,或者超分辨率是否真的是解决此类问题的可行选择。
我正在通过一个简单的 system.process 使用 FFMPEG(来自 Java 应用程序)并尝试将视频切成块。我试图将其切成 10 秒的增量。我的 FFMPEG 命令如下所示:
ffmpeg -i SampleVideo.mp4 -ss 00:00:00.00 -t 00:00:10.00 -strict -2 1438458522836/1438458522836_0.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:10.01 -t 00:00:20.00 -strict -2 1438458522836/1438458536306_1.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:20.01 -t 00:00:30.00 -strict -2 1438458522836/1438458546042_2.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:30.01 -t 00:00:40.00 -strict -2 1438458522836/1438458561165_3.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:40.01 -t 00:00:50.00 -strict -2 1438458522836/1438458577187_4.mp4
ffmpeg -i SampleVideo.mp4 -ss 00:00:50.01 -t 00:01:00.00 -strict -2 1438458522836/1438458587935_5.mp4
Run Code Online (Sandbox Code Playgroud)
他们看起来对我来说是正确的,但我的视频没有以 10 秒的增量出现。他们似乎在随机地点“分裂”。关于我做错了什么的任何想法?
以供参考:
video 0 == 10 seconds
video …Run Code Online (Sandbox Code Playgroud) 我想在处理视频时限制最大 fps。
例如:设置限制为每秒 30 帧。
如果我以 24 fps 处理视频,则不会更改 fps,但如果以 60 fps 处理视频,则将 fps 更改为 30。
是否可以仅使用 FFmpeg(带有过滤器或其他东西)来完成?
我认为可以通过使用这样的过滤器来完成:
-filter:v "fps=fps='min($CURRENT_FPS,30)'"
Run Code Online (Sandbox Code Playgroud)
但我不知道是否可以从表达式中获取当前的 fps。
程序员有什么办法可以直接将数据写入显存吗?我知道操作系统对此非常严格,但是某些类型的应用程序(例如视频播放器或电脑游戏)如何将其数据直接写入视频内存。
我知道有很多知名的库(例如 OpenGL);但它们毕竟只是普通的库,它们和我和你编写的程序没有根本区别。
我正在流式传输长视频,无缝循环短视频序列。借助 HLS,只需将一个视频序列存储并串联在媒体播放列表中并用 #EXT-X-DISCONTINUITY 标签分隔即可实现这一点
\n\n1080_视频.m3u8
\n\n#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-ALLOW-CACHE:YES\n#EXT-X-TARGETDURATION:10\n#EXT-X-MEDIA-SEQUENCE:0\n#EXT-X-PLAYLIST-TYPE:VOD\n#EXTINF:10.010000,\n0/1080p_0_000.ts\n#EXTINF:10.010000,\n0/1080p_0_001.ts\n#EXTINF:2.635967,\n0/1080p_0_002.ts\n#EXT-X-DISCONTINUITY\n#EXTINF:10.010000,\n0/1080p_0_000.ts\n#EXTINF:10.010000,\n0/1080p_0_001.ts\n#EXTINF:2.635967,\n0/1080p_0_002.ts\n#EXT-X-DISCONTINUITY \n... and so on\nRun Code Online (Sandbox Code Playgroud)\n\n这很好用。现在,我\xc2\xb4d 喜欢引入替代音频再现,以便我可以使用各种音轨流式传输这些视频循环。为此,我将准备的每个长音频文件根据视频片段的播放长度分成许多小音频文件。我还了解到,如果您的视频播放列表中有#EXT-X-DISCONTINUITY,那么您的音频播放列表也必须有它们。
\n\n音频.m3u8
\n\n#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:10\n#EXT-X-MEDIA-SEQUENCE:0\n#EXTINF:10.005333,\ns000_00.ts\n#EXTINF:10.005333,\ns000_01.ts\n#EXTINF:2.688000,\ns000_02.ts\n#EXT-X-DISCONTINUITY\n#EXTINF:10.005333,\ns001_00.ts\n#EXTINF:10.005333,\ns001_01.ts\n#EXTINF:2.688000,\ns001_02.ts\n... and so on\nRun Code Online (Sandbox Code Playgroud)\n\n视频和音频集中在主播放列表中。
\n\n大师.m3u8
\n\n#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="en",NAME="audio",URI="./audio/audio.m3u8"\n#EXT-X-STREAM-INF:BANDWIDTH=4500000,RESOLUTION=1920x1080,FRAME-RATE=29.970,NAME="1080p",AUDIO="aac"\n1080_video.m3u8\n#EXT-X-STREAM-INF:BANDWIDTH=2500000,RESOLUTION=1280x720,FRAME-RATE=29.970,NAME="720p",AUDIO="aac"\n720_video.m3u8\n#EXT-X-STREAM-INF:BANDWIDTH=1300000,RESOLUTION=852x480,FRAME-RATE=29.970,NAME="480p",AUDIO="aac"\n480_video.m3u8\nRun Code Online (Sandbox Code Playgroud)\n\n这不起作用。它开始播放视频和音频,但在第一个 DISCONTINUITY 标签处停止。
\n\n我的问题:
\n\nvideo-processing video-streaming h.264 http-live-streaming m3u8
我想在播放视频时唤醒屏幕 NativeModules.KCKeepAwake.activate() 在本机反应中已被贬值
还有其他解决方案吗?