xiao969856
SuperHeroMario
采纳率66.7%
2017-09-08 01:26 阅读 1.9k
已采纳

OpenCV显示的图像不正常

20

我用opencv的mat类接受从相机读取的unsigned char类型数据,
然后用imshow函数在窗口显示,但是不知道为什么显示的图像有点问题,
下面部分的图像是正常的,上面部分则是不正常的紫色,请问这是什么原因,
有知道的能说明一下吗?谢谢了。
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    QiaXi Valtava 2017-09-09 18:00

    正常部分大概刚好全尺寸的1/3, 目测是数据拷贝中频道数的问题。如果你用了指针,检查uchar/vector3b。p++/ p+=3.

    点赞 1 评论 复制链接分享
  • Small_Mouse0 鼠小 2017-09-08 01:38

    mat类接受从相机读取的unsigned char类型数据

    可能是数据在转化时出了点问题,,题主可以打个断点看一下获取到的,,,unsigned char类型数据内容是,,

    转mat题主用的是那一个方法?

    点赞 评论 复制链接分享
  • what951006 小乌龟在大乌龟背上 2017-09-08 03:49

    相机传输来的是流,你mat这样取肯定有问题。会不会流出错误了,试试用个简单的代码来检测。

    Mat mat;
    VideoCaputre vc(0);
    while(true)
    {
    vc>>mat;
    imshow(mat);
    waitkey(30);
    }
    

    这样测试一下。如果还花屏的话,这个问题,可能是摄像头的问题了

    点赞 评论 复制链接分享

相关推荐