OpenCV 显示 2 通道图像(光流)
我将光流存储在 2 通道 32F 矩阵中。我想可视化内容,最简单的方法是什么?
如何将 CV_32FC2
转换为带有空蓝色通道的 RGB(imshow
可以处理)?我正在使用 OpenCV 2 C++ API。
超级奖励点
理想情况下,我会得到色调的流动角度和亮度的大小(饱和度恒定为 100%)。
I have optical flow stored in a 2-channel 32F matrix. I want to visualize the contents, what's the easiest way to do this?
How do I convert a CV_32FC2
to RGB with an empty blue channel, something imshow
can handle? I am using OpenCV 2 C++ API.
Super Bonus Points
Ideally I would get the angle of flow in hue and the magnitude in brightness (with saturation at a constant 100%).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
imshow
只能处理 1 通道灰度和 3-4 通道 BRG/BGRA 图像。所以你需要自己做一个转换。我认为你可以做类似的事情:
imshow
can handle only 1-channel gray-scale and 3-4 channel BRG/BGRA images. So you need do a conversion yourself.I think you can do something similar to:
MPI Sintel 数据集 提供用于可视化计算流的 C 和 MatLab 代码。从此处下载训练集的地面真实光流。该存档包含一个文件夹
flow_code
,其中包含上述源代码。您可以将代码移植到 OpenCV,但是,我编写了一个简单的 OpenCV 包装器来轻松使用提供的代码。请注意,
MotionToColor
方法取自color_flow.cpp
文件。请注意下面列表中的注释。下面是使用 Ce Liu 提供的光流代码和示例图像时的结果。
The MPI Sintel Dataset provides C and MatLab code for visualizing computed flow. Download the ground truth optical flow of the training set from here. The archive contains a folder
flow_code
containing the mentioned source code.You can port the code to OpenCV, however, I wrote a simple OpenCV wrapper to easily use the provided code. Note that the method
MotionToColor
is taken from thecolor_flow.cpp
file. Note the comments in the listing below.Below is the result when using the Optical Flow code and example images provided by Ce Liu.