gpt4 book ai didi

c++ - cv::Mat 检测 PixelFormat

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:01 26 4
gpt4 key购买 nike

我正在尝试使用 pictureBox->Image (Windows Forms) 来显示 cv::Mat 图像 (openCV)。我想这样做而不将图像保存为文件(因为我想每 100 毫秒重置一次图像)。我刚刚在这里找到该主题:How to display a cv::Mat in a Windows Form application?

当我使用此解决方案时,图像似乎只有白色。我想我拿错了 PixelFormat。那么如何找出我需要的 PixelFormat 呢?还没有在 cv::Mat 中看到任何方法来获取相关信息。或者这是否取决于我用来创建此 cv::Mat 的图像源?到目前为止谢谢:)

我在这里拍了一张屏幕。它不是完全白色的。所以我想有一些颜色信息。但也许我错了。 Screen

最佳答案

cv::Mat.depth()返回像素类型,例如。 CV_8U 表示 8 位无符号等。和 cv::Mat.channels()返回 channel 数,对于彩色图像通常为 3

对于“常规图像”,opencv 通常使用 8 位 BGR 颜色顺序,它应该直接映射到 Windows 位图或大多数 Windows 库。

所以你可能想要 system.drawing.imaging.pixelformat.Format24bppRgb,我不知道它使用什么顺序(RGB 或 BGR)但你可以使用 opencv cv::cvtColor() 和 CV_BGR2RGB 转换为 RGB

关于c++ - cv::Mat 检测 PixelFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10850492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com