Cip*_*ian 5 c++ opencv windows-forms-designer pixelformat
我正在尝试使用 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 的图像源?到目前为止谢谢:)
我在这里拍了一个屏幕。它不完全是白色的。所以我想有一些颜色信息。但也许我错了。 屏幕
cv::Mat.depth()返回像素类型,例如。CV_8U 表示 8 位无符号等,cv::Mat.channels()返回通道数,对于彩色图像通常为 3
对于“常规图像”,opencv 通常使用 8 位 BGR 颜色顺序,它应该直接映射到 Windows 位图或大多数 Windows 库上。
所以你可能想要system.drawing.imaging.pixelformat.Format24bppRgb,我不知道它使用什么顺序(RGB或BGR),但你可以使用opencv cv::cvtColor()和CV_BGR2RGB来转换为RGB