m_pHRCBand->OpenNewData(strFilePath);
        }
        else
        {
            // 建立波段对话框
            m_pHRCBand = new CHRCBand;
            m_pHRCBand->m_strFilePath = strFilePath;
            m_pHRCBand->m_strFileTitle = strFileTitle;
            m_pHRCBand->Create(CHRCBand::IDD);
            m_pHRCBand->ShowWindow(SW_SHOW);
        }
    }

    子菜单移动
主程序与子菜单的文件信息选项单独显示,当移动主程序是,子菜单跟随主菜单一起移动,使得界面更加友好。
主要实现:
        // 移动子对话框
        CRect rcDlg;
        GetWindowRect(&rcDlg);
        CString strData;
        strData.Format(_T("%d,%d"), rcDlg.left, rcDlg.top);
        COPYDATASTRUCT data = {0};
        data.dwData = (DWORD)this->GetSafeHwnd();
        data.cbData = strData.GetLength();
        data.lpData = strData.GetBuffer(strData.GetLength());
    图像显示
图像显示可根据选择的波段,查看灰度(一个波段)或彩色(三个波段)图像。
首先,选择需要查看的波段,根据灰度或彩色选择一个或三个波段。把之前打开的第2%小和第98%大的DN值记录下来,根据该波段的DN值生成数据,进行位图头设置、调色板设置、过滤、拉伸。由得到的数据显示,最后设定滚动条等信息。
主要实现代码:
// 获取图像信息
        BITMAP bitmap;
        GetObject(m_hBmp, sizeof(BITMAP), &bitmap);
        m_HRCImgHdr.set_samples(bitmap.bmWidth);
        m_HRCImgHdr.set_lines(bitmap.bmHeight);
   
    // 图像控件的位置
    GetDlgItem(IDC_HRCIMG_IMG_PICTURE)->GetWindowRect(m_rcImg);
    ScreenToClient(&m_rcImg);
    CRect rect;
    GetClientRect(rect);    
    int xpos = GetScrollPos(SB_HORZ);
    if (xpos != 0) ScrollWindow(xpos, 0); // 恢复窗口的水平滚动区域
    int ypos = GetScrollPos(SB_VERT);
    if (ypos != 0) ScrollWindow(0, ypos); // 恢复窗口的垂直滚动区域

4.2  辐射校正模块的设计与实现
辐射校正模块为本系统核心功能。整体流程为:首先,保存待校正文件路径列表,打开数据选择对话框。进行判断,如记录选择的是那一块数据。然后设置校正的一些选项:是否并行、是否手动保存数据。最后,进行校正。校正分为两个部分,界面进度条,用于显示校正进度;矩匹配线程,专门用于计算。
辐射校正整体流程如图4-5所示:
图4-5 辐射校正整体流程4.2.1  选择数据界面实现
选择数据界面如图4-6所示
上一篇:Matlab渣土车车牌图像提取和分割技术研究
下一篇:ASP.net高校学生助学贷款申请系统的设计与实现

高职院校公共机房的管理维护【2471字】

高级RFID阅读器應用對处理器的要求【1354字】

试析高职院校计算机专业...

论高职计算机應用专业課...

无跳线主板BIOS高级设置【706字】

提高实时操作系统的实时...

浅谈高职院校计算机网络实践教學【2060字】

神经外科重症监护病房患...

10万元能开儿童乐园吗,我...

医院财务风险因素分析及管理措施【2367字】

志愿者活动的调查问卷表

中国学术生态细节考察《...

AT89C52单片机的超声波测距...

C#学校科研管理系统的设计

国内外图像分割技术研究现状

承德市事业单位档案管理...

公寓空调设计任务书