【OpenCV学习】错误处理机制

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/   #include "cxcore.h" #include #define FLAG 0 #define ERRMODE 0 void cvResizeDCT(CvMat *input_a...

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

 

#include "cxcore.h"
#include <stdio.h>
#define FLAG 0
#define ERRMODE 0
void cvResizeDCT(CvMat *input_array,CvMat * output_array)
{
    CvMat * temp_array=0;
    CV_FUNCNAME("cvResizeDCT");
    /*#define CV_FUNCNAME( Name ) static char cvFuncName[] = Name*/
    //定义了这个函数的名字,其实就是一个字符数组
    __BEGIN__;
    if (!CV_IS_MAT(input_array) || !CV_IS_MAT(output_array))
    {
        CV_ERROR(CV_StsBadArg,"Invaild matrices!");
    }
    CV_ASSERT(input_array ->rows ==1 && output_array ->rows ==1);
    CV_CALL(temp_array = cvCreateMat(input_array ->rows,MAX(input_array->cols,
        output_array->cols),input_array->type));
    if (output_array->cols > input_array->cols)
    {
        CV_CALL(cvZero(temp_array));
    }
    temp_array->cols = input_array->cols;
    CV_CALL( cvDCT( input_array, temp_array, CV_DXT_FORWARD ));//离散馀弦变换
    temp_array->cols = output_array->cols;
    CV_CALL( cvDCT( temp_array, output_array, CV_DXT_INVERSE ));
    CV_CALL( cvScale( output_array, output_array, 1./sqrt((double)input_array->cols*output_array->cols), 0 ));
    __END__;
}
int main(void)
{
    CvMat *src = /blog.armyourlife.info/cvCreateMat(1,512,CV_32F);
#if    FLAG
    CvMat *dst = cvCreateMat(1,256,CV_32F);
#else
    CvMat *dst=0;
#endif
    cvSet(src,cvRealScalar(1.),0);
#if ERRMODE
    cvSetErrMode(CV_ErrModeSilent);
#endif
    cvResizeDCT(src,dst);
    if (cvGetErrStatus()<0)
    {
        printf("Some Error Occured!");
    }
    else
    {
        printf("Everything is OK!/n");
    }
    return 0;
}

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
OpenCV与AI深度学习之常用AI名词解释学习
AGI:Artificial General Intelligence (通用人工智能):是指具备与人类同等或超越人类的智能,能够表现出正常人类所具有的所有智能行为。又被称为强人工智能。
994 2
|
计算机视觉 Python
opencv 处理图像去噪的几种方法学习
OpenCV 提供了多种图像去噪的方法,以下是一些常见的去噪技术以及相应的 Python 代码示例: 均值滤波:使用像素邻域的灰度均值代替该像素的值。
331 0
|
算法 计算机视觉 Python
【OpenCV】-算子(Sobel、Canny、Laplacian)学习
【OpenCV】-算子(Sobel、Canny、Laplacian)学习
1165 2
|
存储 计算机视觉
OpenCV—学习基本绘图
OpenCV—学习基本绘图
120 1
|
机器学习/深度学习 开发框架 TensorFlow
### 如何系统化学习OpenCV4
### 如何系统化学习OpenCV4
87 0
|
算法 测试技术 计算机视觉
Opencv(C++)系列学习---opencv_contrib安装
Opencv(C++)系列学习---opencv_contrib安装
1504 0
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
913 0
|
算法 计算机视觉 C++
Opencv(C++)学习系列---Sobel索贝尔算子边缘检测
Opencv(C++)学习系列---Sobel索贝尔算子边缘检测
1180 0
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Canny边缘检测算法
Opencv(C++)学习系列---Canny边缘检测算法
927 0
|
存储 计算机视觉 C++
Opencv(C++)学习系列---特征点检测和匹配
Opencv(C++)学习系列---特征点检测和匹配
713 0