问题标签 [opencv-python]

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.

0 投票
3 回答
11704 浏览

python - 查找图像是亮还是暗

我想知道如何使用 OpenCV 在 Python 3 中编写一个函数,该函数接收图像和阈值,并在严重模糊和降低质量(越快越好)后返回“暗”或“亮”。这听起来可能很模糊,但任何可行的方法都可以。

0 投票
3 回答
3076 浏览

python - 我想使用 python opencv 模块以特定时间间隔保存视频帧

我想使用 python opencv 模块以特定时间间隔保存视频帧。

我必须将视频文件分成 40 张图像。但我不认为算法。

我的想法是:

  1. 输入视频文件。
  2. 计算视频中的帧数和 fps。
  3. 返回帧之间的间距。(长度/40)
  4. 边跑边跑

计算帧数、fps和跳跃间隔的方法:

计算帧数、fps和跳转后(示例):

这是while循环:

我面临两个问题:

  1. 总长度小于 30 帧的视频
  2. 没有像3.25 帧这样的帧(只有 3 帧,不是浮点数)

无论如何,如果你对我的问题感兴趣,我会详细教你。我不知道要说什么。

重要的是,无论图像的长度如何,我都想定期保存 40 张图像。

请大哥帮帮我...

0 投票
2 回答
785 浏览

python - 大津阈值和图像梯度方向

我想将 Otsu 阈值应用于图像渐变(以消除噪声)。之后,我想计算梯度方向。不幸的是,当我这样做时,我只能得到 0 到 90 度之间的渐变方向。如果没有 Otsu 阈值,值在 0 到 360 之间。

在 Python 中查看我的代码

0 投票
2 回答
117 浏览

python - 取消锐化/平滑图像中人的身体边界

我有一个图像,其中人的身体边界非常清晰。我怎样才能不锐化/平滑它们? 在此处输入图像描述

当您放大图像时,边缘非常清晰。它的二进制掩码如下所示。 在此处输入图像描述

0 投票
1 回答
254 浏览

numpy - 创建一个绿色通道比蓝色和红色更亮的蒙版?

我试图从照片中提取绿色 LED 显示屏的显示,我发现预处理照片的最简单方法是屏蔽(变黑)绿色通道不是最亮通道的所有像素。我创建了一个算法来做到这一点,但它非常慢:

如何运行它:

上面的算法在一张照片上运行需要 40 秒,这实在是太大了。是否有内置算法可以做同样的事情或我可以使用的 numpy 优化?

0 投票
2 回答
6715 浏览

opencv - 使用 OpenCV Python 和 Hough 变换进行线检测

我正在尝试使用 Python OpenCV 和 Hough 变换算法检测表格行并从图像中提取完整表格。我需要拥有每条线的所有坐标,目的是以相同的比例绘制同一张桌子。我了解霍夫变换的工作原理并尝试在没有 OpenCV 的情况下实现它,但在大图像上速度非常慢。

这是来自示例 OpenCV Hough Transfrom 的代码

Canny 边缘检测返回 Canny 边缘检测的图像Resulf

但是检测的结果是Housh Transform 的 Resulf

我不知道为什么霍夫变换会留下一些表格。你能推荐一些事情吗?也许另一种从图像中提取表格的方法?谢谢!

UPD。需要检测的原始图像原始表

0 投票
1 回答
70 浏览

python - 将RGB转换为灰色时如何解决错误?(错误:(-215)scn == 3 || scn == 4 在函数 cv::cvtColor 中)

我有一个从文件夹中获取视频并使用轮廓和背景减法进行一些计算的代码。之后,我将把编辑后的视频保存到文件夹中。代码如下所示:

这将打开一个窗口并播放视频,然后创建output.avi,但它不包含任何内容。 cmd什么都不生产。我只是无法以正确的方式保存文件。

请推荐解决此问题的方法

0 投票
1 回答
811 浏览

python - cv2.imshow 崩溃 - libc++abi.dylib:以 NSException 类型的未捕获异常终止

我正在读取图像,然后使用 cv2.imshow 显示图像,但是这会使我的脚本在下面的堆栈跟踪中崩溃。

代码

堆栈跟踪

2018-10-23 11:35:09.828 python3[47256:2814041] * +[NSUndoManager _endTopLevelGroupings]、/BuildRoot/Library/Caches/com.apple.xbs /Sources/Foundation/Foundation-1451/Foundation/Misc 中的断言失败.subproj/NSUndoManager.m:361 2018-10-23 11:35:09.830 python3[47256:2814041] *由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“+[NSUndoManager(NSInternal)_endTopLevelGroupings] 只对在主线程上调用。*** 第一次抛出调用堆栈:(0 CoreFoundation 0x00007fff32116fcb __exceptionPreprocess + 171 1 libobjc.A.dylib
0x00007fff58db0c76 objc_exception_throw + 48 2 CoreFoundation
0x00007fff3211cd62 +[NSException raise:format:arguments:] + 98 3
基础 0x00007fff3421b300 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 193 4
基础 0x00007fff341a9e54 +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 469 5 AppKit 0x00007fff2f668e56 -[NSApplication run] + 9
0x000000010dc27c12 _ZN26QEventDispatcherMacPrivate22ensureNSAppInitializedEv + 128 7 QtGui 0x000000010dc274ad _ZN19QEventDispatcherMac13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE + 693 8 QtCore 0x000000010d335d9f _ZN16QCoreApplication13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE + 81 9 cv2.cpython-37m-darwin.so 0x00000001082677ef cvWaitKey + 207 10 cv2.cpython-37m-darwin.so
0x0000000108267e37 _ZN11GuiReceiver12createWindowE7QStringi + 263 11 cv2.cpython-37m-darwin.so 0x0000000108267c6c cvNamedWindow + 540 12 cv2.cpython-37m-darwin.so 0x000000010826a3a1 _ZN11GuiReceiver9showImageE7QStringPv + 161 13 cv2.cpython-37m-darwin.so 0x000000010826a24c cvShowImage + 572 14 cv2.cpython -37m-darwin.so 0x000000010826298b _ZN2cv6imshowERKNS_6StringERKNS_11_InputArrayE + 475 15 cv2.cpython-37m-darwin.so 0x0000000107853114 _ZL18pyopencv_cv_imshowP7_objectS0_S0_ + 404 16 Python 0x0000000105e2fa4e _PyMethodDef_RawFastCallKeywords + 541 17 Python 0x0000000105e2ef8b _PyCFunction_FastCallKeywords + 44 18 Python
0x0000000105ec7ad7 call_function + 554 19 Python
0x0000000105ebfb57 _PyEval_EvalFrameDefault + 5281 20 Python
0x0000000105e2f379 function_code_fastcall + 117 21 Python
0x0000000105e2fd21 _PyObject_Call_Prepend + 150 22 Python
0x0000000105e2f0a2 PyObject_Call + 137 23 Python
0x0000000105ebfebd _PyEval_EvalFrameDefault + 6151 24 Python
0x0000000105ec83ff _PyEval_EvalCodeWithName + 1747 25 Python
0x0000000105e2eb8a _PyFunction_FastCallDict + 441 26 Python
0x0000000105e2fd21 _PyObject_Call_Prepend + 150 27 Python
0x0000000105e2f0a2 PyObject_Call + 137 28 Python
0x0000000105ebfebd _PyEval_EvalFrameDefault + 6151 29 Python
0x0000000105ec83ff _PyEval_EvalCodeWithName + 1747 30 Python
0x0000000105e2eb8a _PyFunction_FastCallDict + 441 31 Python
0x0000000105ebfebd _PyEval_EvalFrameDefault + 6151 32 Python
0x0000000105ec83ff _PyEval_EvalCodeWithName + 1747 33 Python
0x0000000105e2eb8a _PyFunction_FastCallDict + 441 34 Python
0x0000000105ebfebd _PyEval_EvalFrameDefault + 6151 35 Python
0x0000000105e2f379 function_code_fastcall + 117 36 Python
0x0000000105ec7b42 call_function + 661 37 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 38 Python
0x0000000105e2f379 function_code_fastcall + 117 39 Python
0x0000000105ec7b42 call_function + 661 40 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 41 Python
0x0000000105e2f379 function_code_fastcall + 117 42 Python
0x0000000105ec7b42 call_function + 661 43 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 44 Python
0x0000000105e2f379 function_code_fastcall + 117 45 Python
0x0000000105e2fd21 _PyObject_Call_Prepend + 150 46 Python
0x0000000105e6df5b slot_tp_call + 71 47 Python
0x0000000105e2ede0 _PyObject_FastCallKeywords + 381 48 Python
0x0000000105ec7b3b call_function + 654 49 Python
0x0000000105ebfb57 _PyEval_EvalFrameDefault + 5281 50 Python
0x0000000105e3afe4 gen_send_ex + 242 51 Python
0x0000000105ebf28e _PyEval_EvalFrameDefault + 3032 52 Python
0x0000000105ec83ff _PyEval_EvalCodeWithName + 1747 53 Python
0x0000000105e2ef50 _PyFunction_FastCallKeywords + 225 54 Python
0x0000000105ec7b42 call_function + 661 55 Python
0x0000000105ebfbfd _PyEval_EvalFrameDefault + 5447 56 Python
0x0000000105ec83ff _PyEval_EvalCodeWithName + 1747 57 Python
0x0000000105e2ef50 _PyFunction_FastCallKeywords + 225 58 Python
0x0000000105ec7b42 call_function + 661 59 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 60 Python
0x0000000105e2f379 function_code_fastcall + 117 61 Python
0x0000000105ec7b42 call_function + 661 62 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 63 Python
0x0000000105e2f379 function_code_fastcall + 117 64 Python
0x0000000105ec7b42 call_function + 661 65 Python
0x0000000105ebfb57 _PyEval_EvalFrameDefault + 5281 66 Python
0x0000000105e2f379 function_code_fastcall + 117 67 Python
0x0000000105ec7b42 call_function + 661 68 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 69 Python
0x0000000105e2f379 function_code_fastcall + 117 70 Python
0x0000000105e2fd21 _PyObject_Call_Prepend + 150 71 Python
0x0000000105e6e96f slot_tp_init + 80 72 Python
0x0000000105e6b464 type_call + 178 73 Python
0x0000000105e2ede0 _PyObject_FastCallKeywords + 381 74 Python
0x0000000105ec7b3b call_function + 654 75 Python
0x0000000105ebfb57 _PyEval_EvalFrameDefault + 5281 76 Python
0x0000000105e2f379 function_code_fastcall + 117 77 Python
0x0000000105ec7b42 call_function + 661 78 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 79 Python
0x0000000105e2f379 function_code_fastcall + 117 80 Python
0x0000000105e2fd21 _PyObject_Call_Prepend + 150 81 Python
0x0000000105e2f0a2 PyObject_Call + 137 82 Python
0x0000000105ebfebd _PyEval_EvalFrameDefault + 6151 83 Python
0x0000000105e2f379 function_code_fastcall + 117 84 Python
0x0000000105ec7b42 call_function + 661 85 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 86 Python
0x0000000105e2f379 function_code_fastcall + 117 87 Python
0x0000000105ec7b42 call_function + 661 88 Python
0x0000000105ebfb3e _PyEval_EvalFrameDefault + 5256 89 Python
0x0000000105e2f379 function_code_fastcall + 117 90 Python
0x0000000105e2fd21 _PyObject_Call_Prepend + 150 91 Python
0x0000000105e2f0a2 PyObject_Call + 137 92 Python
0x0000000105f2ecea t_bootstrap + 71 93 libsystem_pthread.dylib
0x00007fff59c2b6c1 _pthread_body + 340 94 libsystem_pthread.dylib
0x00007fff59c2b56d _pthread_body + 0 95 libsystem_pthread.dylib
0x00007fff59c2ac5d thread_start + 13 ) libc++abi.dylib: 以 NSException 类型的未捕获异常终止

操作系统 macOS High Sierra version 10.13.3

架构(例如 x86) x64

opencv-python 版本 *

0 投票
1 回答
2272 浏览

python - 如何使用 Opencv 和 Flask 将网络摄像头图像流广播到多个设备?

我有以下代码。尝试将一台设备连接到服务器时效果很好。当两个设备连接时,只有一个工作,另一个冻结并给出以下错误。

目标是将视频流广播到多个设备。另外,有没有办法通过 Flask 改善传输的 FPS 并减少延迟?

代码

相机.py

主文件

错误

0 投票
0 回答
586 浏览

opencv - 用于提取 I 帧的 OpenCv API

是否opencv-python有从视频中提取 I 帧的 API?

ffprobe用来从视频中提取I-frames并传递帧号来opencv操作帧,但这需要分两步迭代视频帧;一种用于检测I-frames,一种用于操作。所以我搜索了一种直接I-frames从视频中提取的方法,使用 just opencvbut nothing found

如果有解决方案,我会很高兴听到它。