标题:一堆错误
取消只看楼主
CC猫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-3-29
结帖率:100%
已结贴  问题点数:10 回复次数:1 
一堆错误

// SmoothExampleDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "SmoothExample.h"
#include "SmoothExampleDlg.h"
#include <string>

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 用于应用程序“关于”菜单项的 CAboutDlg 对话框

class CAboutDlg : public CDialog
{
public:
    CAboutDlg();

// 对话框数据
    enum { IDD = IDD_ABOUTBOX };

    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

// 实现
protected:
    DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()


// CSmoothExampleDlg 对话框




CSmoothExampleDlg::CSmoothExampleDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CSmoothExampleDlg::IDD, pParent)
    ,m_Para1(0)
    ,m_Para2(0)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSmoothExampleDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_SLIDER2, m_SliderPara2);
    DDX_Control(pDX, IDC_SLIDER1, m_SliderPara1);
    DDX_Text(pDX, IDC_EDIT1, m_Para1);
    DDX_Text(pDX, IDC_EDIT2, m_Para2);
}

BEGIN_MESSAGE_MAP(CSmoothExampleDlg, CDialog)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    //}}AFX_MSG_MAP
    ON_BN_CLICKED(IDOK, &CSmoothExampleDlg::OnBnClickedOK)
    ON_BN_CLICKED(IDC_RADIOMedian, &CSmoothExampleDlg::OnBnClickedRadiomedian)
    ON_BN_CLICKED(IDC_RADIOGauss, &CSmoothExampleDlg::OnBnClickedRadiogauss)
    ON_BN_CLICKED(IDC_RADIOSimple, &CSmoothExampleDlg::OnBnClickedRadiosimple)
    ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER1, &CSmoothExampleDlg::OnNMCustomdrawSlider1)
    ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER2, &CSmoothExampleDlg::OnNMCustomdrawSlider2)
    ON_WM_DESTROY()
END_MESSAGE_MAP()


// CSmoothExampleDlg 消息处理程序

BOOL CSmoothExampleDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    // 将“关于...”菜单项添加到系统菜单中。

    // IDM_ABOUTBOX 必须在系统命令范围内。
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        CString strAboutMenu;
        strAboutMenu.LoadString(IDS_ABOUTBOX);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }

    // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
    //  执行此操作
    SetIcon(m_hIcon, TRUE);            // 设置大图标
    SetIcon(m_hIcon, FALSE);        // 设置小图标

    m_SliderPara1.SetRange(1, 100);
    m_SliderPara2.SetRange(1, 100);
    m_Para1 = 1;
    m_Para2 = 1;

    smoothtype = CV_BLUR;

    src = cvLoadImage("F:\\lena.jpg", 1);
    dst = cvCloneImage(src);
    cvNamedWindow("模糊",1);
    cvShowImage("模糊", dst);


    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

void CSmoothExampleDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
        CAboutDlg dlgAbout;
        dlgAbout.DoModal();
    }
    else
    {
        CDialog::OnSysCommand(nID, lParam);
    }
}

// 如果向对话框添加最小化按钮,则需要下面的代码
//  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
//  这将由框架自动完成。

void CSmoothExampleDlg::OnPaint()
{
    if (IsIconic())
    {
        CPaintDC dc(this); // 用于绘制的设备上下文

        SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

        // 使图标在工作区矩形中居中
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;

        // 绘制图标
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
}

//当用户拖动最小化窗口时系统调用此函数取得光标
//显示。
HCURSOR CSmoothExampleDlg::OnQueryDragIcon()
{
    return static_cast<HCURSOR>(m_hIcon);
}


void CSmoothExampleDlg::OnBnClickedOK()
{
    CFileDialog SaveDlg( FALSE, L"bmp", L"未命名", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, L"图像文件格式(*.bmp) |*.bmp| JPG file format (*.jpg) |*.jpg|", NULL);

        if(SaveDlg.DoModal()==IDOK)
        {
            CString saveFileName=SaveDlg.GetPathName();
            std::string tempSaveName = (LPCSTR)CStringA(saveFileName);
            const char* nameOfFile = tempSaveName.c_str();

            cvSaveImage(nameOfFile, dst);
            MessageBox(L"文件已成功保存!");
        }
        else
        MessageBox(L"文件未被保存!");
}

void CSmoothExampleDlg::OnBnClickedRadiomeddian()
{
    // TODO:  如果该控件是 RICHEDIT 控件,它将不
    // 发送此通知,除非重写 CDialog::OnInitDialog()
    // 函数并调用 CRichEditCtrl().SetEventMask(),
    // 同时将 ENM_CHANGE 标志“或”运算到掩码中。

    // TODO:  在此添加控件通知处理程序代码
    smoothtype = CV_MEDIAN;
    m_SliderPara2.EnableWindow(FALSE);
}

void CSmoothExampleDlg::OnBnClickedRadiogauss()
{
    // TODO:  如果该控件是 RICHEDIT 控件,它将不
    // 发送此通知,除非重写 CDialog::OnInitDialog()
    // 函数并调用 CRichEditCtrl().SetEventMask(),
    // 同时将 ENM_CHANGE 标志“或”运算到掩码中。

    // TODO:  在此添加控件通知处理程序代码
    smoothtype = CV_GAUSSIAN;
    m_SliderPsra2.EnableWindow(TRUE);
}
void CSmoothExampleDlg::OnBnClickedRadiosimple()
{
    smoothtype = CV_BLUR;
    m_SliderPara2.EnableWindow(TRUE);
}
void CSmoothExampleDlg::OnNMCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
    m_Para1 = m_SliderPara1.GerPos();
    UpdateData(FALSE);
    int param1 = m_Para1*2+1;
    int param2 = m_Para2*2+1;
    cvSmooth( src, dst, smoothtype, param1, param2);
    cvShowImage("模糊",dst);
    *pResult = 0;
}
void CSmoothExampleDlg::OnNMCustomdrawSlider2(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
    m_Para2 = m_SliderPara2.GetPos();
    UpdateData(FALSE);
    int param1 = m_Para1*2+1;
    int param2 = m_Para2*2+1;
    cvSmooth( src, dst, smoothtype, param1, param2);
    cvShowImage("模糊",dst);
    *pResult = 0;
}
void CSmoothExampleDlg::OnDestroy()
{
    CDialog::OnDestroy();
    cvReleaseImage(&src);
    cvReleaseImage(&dst);
    cvDestroyAllWindows();
}
问题:
1>------ 已启动生成: 项目: SmoothExample, 配置: Debug Win32 ------
1>正在编译...
1>stdafx.cpp
1>正在编译...
1>SmoothExample.cpp
1>e:\program files\opencv2.1\vc2008\include\opencv\cvcompat.h(803) : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>SmoothExampleDlg.cpp
1>e:\program files\opencv2.1\vc2008\include\opencv\cvcompat.h(803) : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(64) : error C2065: “IDC_EDIT1”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(65) : error C2065: “IDC_EDIT2”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(74) : error C2065: “IDC_RADIOMedian”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(74) : error C2065: “IDC_RADIOMedian”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(75) : error C2065: “IDC_RADIOGauss”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(75) : error C2065: “IDC_RADIOGauss”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(76) : error C2065: “IDC_RADIOSimple”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(76) : error C2065: “IDC_RADIOSimple”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(195) : error C2039: “OnBnClickedRadiomeddian”: 不是“CSmoothExampleDlg”的成员
1>        f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.h(13) : 参见“CSmoothExampleDlg”的声明
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(203) : error C2065: “smoothtype”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(204) : error C2065: “m_SliderPara2”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(204) : error C2228: “.EnableWindow”的左边必须有类/结构/联合
1>        类型是“'unknown-type'”
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(216) : error C2065: “m_SliderPsra2”: 未声明的标识符
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(216) : error C2228: “.EnableWindow”的左边必须有类/结构/联合
1>        类型是“'unknown-type'”
1>f:\学以致用\没完没了\毕业设计\c++files\smoothexample\smoothexample\smoothexampledlg.cpp(226) : error C2039: “GerPos”: 不是“CSliderCtrl”的成员
1>        e:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afxcmn.h(1073) : 参见“CSliderCtrl”的声明
1>正在生成代码...
1>生成日志保存在“file://f:\学以致用\没完没了\毕业设计\C++files\SmoothExample\SmoothExample\Debug\BuildLog.htm”
1>SmoothExample - 15 个错误,2 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

搜索更多相关主题的帖子: void 数据 应用程序 include public 
2012-04-05 12:53
CC猫
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-3-29
得分:0 
关于数字图像的平滑、滤波的
2012-04-05 20:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-365197-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.202800 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved