博客
关于我
Opencv判断是否加载图片的两种方法
阅读量:93 次
发布时间:2019-02-26

本文共 608 字,大约阅读时间需要 2 分钟。

在实际开发中,OpenCV图片加载失败处理是一个常见问题。图片加载失败的原因可能有以下几种:图片路径不正确、图片不存在等。对于初学者来说,这些错误往往不容易定位,会让人感到很困惑。

方法一:常规判断方式

src = imread("1.jpg", CV_LOAD_IMAGE_COLOR);  // 注意路径改为自己的if (!src.data) {  // 判断是否加载成功    cout << "Picture loading failed!" << endl;    return -1;}

注意:判断条件是 src.empty(),这里调用了一个函数,编写代码时要小心。

方法二:更简洁的判断方式

src = imread("1.jpg", CV_LOAD_IMAGE_COLOR);  // 注意路径改为自己的if (src.empty()) {  // 判断是否加载成功    cout << "Picture loading failed!" << endl;    return -1;}

注意:判断条件是 src.empty(), 这是一个更简洁的写法。

注意事项

  • 判断条件中要调用 empty() 函数,记得加上括号。
  • 代码中要注意路径是否正确,图片不存在也会导致错误。
  • 加载失败时要友好提示,方便调试和问题定位。
  • 通过以上方法,可以有效地解决OpenCV图片加载失败的问题,快速定位错误来源。

    转载地址:http://pgvk.baihongyu.com/

    你可能感兴趣的文章
    MySQL高级-视图
    查看>>
    nacos集群搭建
    查看>>
    Nessus漏洞扫描教程之配置Nessus
    查看>>
    Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
    查看>>
    Netpas:不一样的SD-WAN+ 保障网络通讯品质
    查看>>
    Netty WebSocket客户端
    查看>>
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0050---Netty核心模块1
    查看>>
    Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
    查看>>
    Netty常见组件二
    查看>>
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>
    Netty源码—4.客户端接入流程一
    查看>>
    Netty源码—4.客户端接入流程二
    查看>>
    Netty源码—5.Pipeline和Handler一
    查看>>
    Netty源码—6.ByteBuf原理二
    查看>>
    Netty源码—7.ByteBuf原理三
    查看>>