问题标签 [opencv3.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - openh264 - bEnableFrameSkip=0,比特率无法控制
有很多关于opencv + H.264的问题,但没有一个给出详细的解释。
我在visual studio中使用openh264(openh264-1.4.0-win32msvc.dll)和opencv 3.1(使用启用ffmpeg的cmake自定义构建),我想用H.264压缩将来自网络摄像头的视频保存为mp4格式
VideoWriter write = VideoWriter("D:/movie.mp4", CV_FOURCC('H', '2', '6', '4'), 10.0, cv::Size(192, 144), true);
在使用 openh264 之前,在控制台窗口中我看到一条警告消息“无法加载 openh264 库:openh264-1.4.0-win32msvc.dll 请检查您的环境和/或从此处下载: https ://github.com/cisco/ openh264/releases ”(也没有保存视频)
所以我下载了dll并保存在我的程序文件(exe)的文件夹中,当我运行程序时,我看到不同的错误“[OpenH264] this = 0x0DE312C0,警告:bEnabledFrameSkip = 0,比特率无法控制对于 RC_QUALITY_MODE 和 RC_TIMESTAMP_MODE 不启用跳帧”(现在视频已保存,但大小非常高!比特率约为 1200 Kbps)
对我来说,使用 h264 的唯一目的是减小文件大小。我想我可能必须自己构建 openh264 并进行一些更改才能消除此错误,有人可以指导我如何操作吗?或者告诉我是否有办法通过代码以某种方式降低比特率?
PS:我尝试给出 -1 而不是 CV_FOURCC(),系统中的“已安装编解码器”窗口出现了,即使我从这里安装了各种编解码器包和 h264,我也找不到 h264 或 x264 或 h264vfw
感谢和问候
c++ - 运行 OpenCV_Sample 的 stereo_match.cpp
我通过 g++ 编译器获得了“stereo_match”。
我的环境是:
- Ubuntu 15.1 的 VirtualBox
- OpenCV 3.1.0
我不知道运行命令。我试过了 :
但它失败并出现错误:
OpenCV 错误:getByIndex 文件 /home/usera/opencv-3.1.0/modules/core/src/command_line_parser.cpp 第 169 行中的错误参数(请求的未声明位置 0)
抛出'cv :: Exception'实例后调用终止
what():/home/usera/opencv-3.1.0/modules/core/src/command_line_parser.cpp:169:错误:(-5)请求未声明的位置0在函数 getByIndex中止(核心转储)
c++ - 我有 ucrtbased.dll 和 opencv_world3110d.dll 但程序无法找到或打开 PDB 文件
我在 Visual Studio 2015 中的 c++ opencv3.1.0 中遇到问题。当我运行我的代码时,为什么我的程序总是给出输出:ucrtbased.dll 无法找到或打开 PDB 文件,而 opencv_world310d.dll 无法找到或打开 PDB 文件。我必须尝试很多解决方案,但程序总是无法从 uctbased 和 opencv_world310d 找到或打开 pdb 文件。如果您有任何解决方案,请帮助我,这是我的完整输出:
“Project2.exe”(Win32):加载“C:\Users\Wu\Documents\Visual Studio 2015\Projects\Project2\x64\Debug\Project2.exe”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\ntdll.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\kernel32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\KernelBase.dll”。已加载符号。“Project2.exe”(Win32):加载“C:\OpenCV310\build\x64\vc14\bin\opencv_world310d.dll”。无法找到或打开 PDB 文件。“Project2.exe”(Win32):已加载“C:\Windows\System32\user32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\gdi32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\lpk.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\usp10.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\msvcrt.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\ole32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\rpcrt4.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\oleaut32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\comdlg32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\shlwapi.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601。17514_none_a4d6a923711520a9\comctl32.dll'。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\advapi32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\sechost.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\shell32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\msvfw32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\winmm.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\avifil32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\msacm32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\avicap32.dll”。已加载符号。' Project2.exe' (Win32): 加载'C:\Windows\System32\version.dll'。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\msvcp140d.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\vcruntime140d.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\ucrtbased.dll”。无法找到或打开 PDB 文件。“Project2.exe”(Win32):已加载“C:\Windows\System32\api-ms-win-core-timezone-l1-1-0.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\api-ms-win-core-file-l2-1-0.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\api-ms-win-core-localization-l1-2-0.dll”。已加载符号。'Project2.exe' (Win32): 加载'C: \Windows\System32\api-ms-win-core-synch-l1-2-0.dll'。已加载符号。“Project2.exe”(Win32):加载“C:\Windows\System32\api-ms-win-core-processthreads-l1-1-1.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\api-ms-win-core-file-l1-2-0.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\concrt140d.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\imm32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\msctf.dll”。已加载符号。\Windows\System32\api-ms-win-core-file-l1-2-0.dll'。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\concrt140d.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\imm32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\msctf.dll”。已加载符号。\Windows\System32\api-ms-win-core-file-l1-2-0.dll'。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\concrt140d.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\imm32.dll”。已加载符号。“Project2.exe”(Win32):已加载“C:\Windows\System32\msctf.dll”。已加载符号。
***** 视频输入库 - 0.1995 - TFW07 *****
在 Project2.exe 中的 0x000007FEFD849E5D 处引发异常:Microsoft C++ 异常:内存位置 0x000000000018DD70 处的 cv::Exception。Project2.exe 中 0x000007FEFD849E5D 处未处理的异常:Microsoft C++ 异常:内存位置 0x000000000018DD70 处的 cv::Exception。
程序“[5768] Project2.exe”已退出,代码为 0 (0x0)。我希望任何人都可以帮助我解决这个问题,谢谢。
opencv - DeepFlow光流算法如何设置参数
国家的文件cv::optflow::createOptFlow_DeepFlow
:
如何修改这些参数?所有一个人得到的是一个Ptr<DenseOpticalFlow>
并且cv::optflow::OpticalFlowDeepFlow
不在公共界面中,所以一个人甚至不能dynamic_cast
得到它。
android - 如何使用 OpenCV onPictureTaken 处理图像?
我一直在尝试在拍摄照片后立即处理图像,即在onPictureTaken()
回调中。据我了解,我应该将字节数组转换为 OpenCV 矩阵,但是当我尝试这样做时,整个应用程序都会冻结。基本上我所做的就是:
有谁知道它为什么会冻结以及如何解决它?
注意:我使用 OpenCV4Android 教程 3 作为基础。
更新1:我还尝试解析字节(没有任何成功),如下所示:
更新 2:据说这应该有效,但它不适合我。
这个变种也没有:
更新 3:这对我也不起作用:
c++ - OpenCV 3.1 ANN 预测返回 nan
我正在尝试使用 OpenCV ANN 库来实现神经网络。我有一个可行的解决方案,但升级到 OpenCV 3.1 后它停止工作。所以我创建了一个简化的测试代码,但问题仍然存在。ANN 已成功训练,但是当我尝试使用 trainData 中的行调用预测时,它返回 nan 值的 Mat。代码是
输出是:
[南],
trainData 矩阵有 15 行和 4 列,值是手动设置的。trainLabels 是 15 行 1 列的矩阵。
我正在使用 Visual Studio 2015,项目是 x86。
编辑 当我使用 nn->save("file") 保存算法时,我得到以下信息:
cmake - 制作 cmake 时出现“opencv_contrib 是必需的,但未找到”错误
我需要在这个存储库上运行代码:https ://github.com/KirillLykov/oni2avi
我安装了 OpenCV 3.1.0。
当我使用 cmake 构建代码时,出现以下错误:
“opencv_contrib 是必需的,但没有找到”
我怎么解决这个问题?
c++ - 错误 C1083 无法打开包含文件:VS 2015 中的“opencv2\opencv.hpp”
我正在尝试在 Windows 10 上使用 OpenCv 3.1 在 Visual Studio 2015 上运行下面的简单测试代码。
但我明白了
错误 C1083 无法打开包含文件:'opencv2\opencv.hpp':没有这样的文件或目录
我C: \ opencv \ build \ x64 \ vc14 \ bin
在 Windows 环境变量中添加了 Path to System 变量。
同样C:\opencv\build\include;$(IncludePath)
在Visual Studio 中,我将 Include Directories设置为(Debug)Project properties > VC++ Directories
Linker > Input Additional Dependencies
opencv_world310d.lib
我也有以下设置:
可执行目录 -C:\opencv\build\x64\vc14
图书馆目录 -C:\opencv\build\x64\vc14\lib
其他图书馆目录 -C:\opencv\build\x64\vc14\lib
请帮我解决这个错误。
python - OpenCV在Mac上全屏显示图像,没有白色边框
我在 Mac OSX 10.9 上运行 opencv 版本 3.1.0 和 python 2.7,并希望全屏显示黑色图像。我的屏幕分辨率是 2880x1800。
但是,当我尝试这样做时,屏幕顶部有一个大的白色边框。
这是我的代码,请注意 black.jpg 是 2880x1800 图像。
我还尝试使用以下代码手动创建黑色图像。
我已经调整了 numpy 数组的尺寸以使其更大,但边界仍然存在。
做一些研究我发现这可能是opencv的一个错误。但是,这些解决方案仅适用于 windows 操作系统,请参见以下内容:
和
如果有人知道如何修复 Mac 的错误,我可以继续重建库。或者,如果我做错了什么,请告诉我。谢谢!
c++ - OpenCV 3.1.0:保存和加载经过训练的 SVM
目前我正在尝试训练不同的支持向量机来识别不同的情绪。因此,例如,为了识别快乐的情绪,我训练了一个支持向量机,其中快乐的人的图像是积极的,人们表达其他情绪(如愤怒、恐惧、厌恶等)的图像是消极的。这些图像存储在一个数据库中,我已将其划分为训练部分和测试部分。
当我训练了 SVM 后,我立即使用它们来测试数据库测试图像的准确性,并且效果很好。但我也保存了训练过的 SVM,因为我想在另一个程序中使用它们,并且不想每次启动另一个程序时都重新训练它们。
因此,我在另一个程序中加载了 SVM,但结果非常糟糕。准确度接近于百分之零。因此,我尝试在训练程序中保存并立即加载 SVM,但这里的准确率现在接近于 0%。
搜索了一段时间后,我发现如果我加载了 SVM 并打印了 SVM 类型、内核类型和支持向量,它们与 SVM .xml 文件中的相同。所以我认为问题在于预测没有以正确的方式执行。我也不知道我是否保存了我的 SVM 并以适当的方式加载它们。
目前我已经尝试寻找解决方案,但没有任何成功。我尝试过的一些链接是:
我用来训练 SVM 并立即测试它们而不再次加载它们的代码是:
所以这工作正常,直到我更改代码以首先保存 SVM,然后再次加载它们以进行预测,如下所示
数组 svmSaveNames 包含带有名称的字符串,用于保存不同的 SVM,例如 svm_anger.xml、svm_contempt.xml、...
我使用变量 data_file 为每个测试的 SVM 创建一个 .txt 文件。因此,首先我训练和测试 SVM 以识别例如情绪愤怒,并在测试这个 SVM 时使用所有测试图像。因此,所有这些图像的预测(1 = 正/-1 = 负)都被写入文本文件。
参数 startTest 和 stopTest 用于验证正图像(预测值为 1)是否在需要被识别为正图像的范围内。在数据库的测试图中,我按情感排序了所有图像,所以先是愤怒然后是鄙视,...
2D 矩阵 testing_mat 包含来自所有测试图像的数据,这些数据被提供给 SVM 以预测情绪。
所以我的问题是,在我加载了 SVM 之后,它们并没有给我正确的预测。