zoukankan      html  css  js  c++  java
  • opencv中遇到的的一些错误

    一:错误提示:OpenCV Error:Bad argument<src and dst have different formats> in unkown function,file.......

    原因是:输入src的格式和输出dst的格式不一样。

    需要检查:

    事例:我在用cvPyrsegmentation()是犯的错

    IplImage* src_picture= cvLoadImage("F://Opencv_picture//00.jpg");
        IplImage* dst_picture= cvCreateImage(cvGetSize(src_picture), src_picture->depth, 1);

    此处的“1”改为“src_picture->nChannels”

    二:<转>关于cvCanny函数的一个错误记录:点击打开链接原文)

    出现OpenCV Error:Assertion failed (src.derth()==dst.depth && src.size()==dst.size()) 错误,导致程序中断!

    原因如下:

    错误含义是:原数据和目的数据的深度或者大小不同 导致不能进行赋值变换。
    1.check这两个图或者矩阵是不是初始化了
    2.如果初始化了,初始化的大小是不是一样,即两者有没有相同的长宽
    3.两者的depth深度是不是一样,即是不是一个是三通道的,一个是单通道的。或者一个是单通道32位浮点类型,一个是单通道8位整形类型。

        此问题出现的是在cvCanny()函数

      doCanny(in,1.0,3.0,3.0);

    void cvCanny( const CvArr* image,CvArr* edges,double threshold1,double threshold2, int aperture_size=3 );
    image 输入图像,这个必须是单通道的,即灰度图
    edges 输出的边缘图像 ,也是单通道的,但是是黑白的
    threshold1 第一个阈值
    threshold2 第二个阈值
    aperture_size Sobel 算子内核大小
    函数 cvCanny 采用 Canny 算法发现输入图像的边缘而且在输出图像中标识这些边缘。threshold1和threshold2 当中的小阈值用来控制边缘连接,大的阈值用来控制强边缘的初始分割。




  • 相关阅读:
    黑客工具包ShadowBrokers浅析
    浅谈Miller-Rabin素数检测算法
    辗转相除法(欧几里得算法)的证明
    2019年年终感言
    详解矩阵乘法
    计数类问题中的取模运算总结
    浅谈同余方程的求解与中国剩余定理
    模板测试题
    洛谷 P3811 【模板】乘法逆元
    同余知识点全析
  • 原文地址:https://www.cnblogs.com/riskyer/p/3327545.html
Copyright © 2011-2022 走看看