• 大小: 44KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: C/C++
  • 标签: OpenCV  图像检索  

资源简介

使用VC6.0集成开发环境初步实现了基于图片轮廓和图片颜色直方图的图像检索系统;对于给定的例子图像,系统搜索指定目录并根据与例子图像的颜色直方图或轮廓相似性程度数值按升序排列相符合的

资源截图

代码片段和文件信息

// DirDialog.cpp: implementation of the CDirDialog class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“

#include “DirDialog.h“

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif


// Callback function called by SHBrowseForFolder‘s browse control
// after initialization and when selection changes
int __stdcall CDirDialog::BrowseCtrlCallback(HWND hwnd UINT uMsg LPARAM lParam LPARAM lpData)
{
    CDirDialog* pDirDialogObj = (CDirDialog*)lpData;
    if (uMsg == BFFM_INITIALIZED )
    {
        if( ! pDirDialogObj->m_strSelDir.IsEmpty() )
            ::SendMessage(hwnd BFFM_SETSELECTION TRUE (LPARAM)(LPCTSTR)(pDirDialogObj->m_strSelDir));
        if( ! pDirDialogObj->m_strWindowtitle.IsEmpty() )
            ::SetWindowText(hwnd (LPCTSTR) pDirDialogObj->m_strWindowtitle);
    }
    else if( uMsg == BFFM_SELCHANGED )
    {
        LPITEMIDLIST pidl = (LPITEMIDLIST) lParam;
        char selection[MAX_PATH];
        if( ! ::SHGetPathFromIDList(pidl selection) )
            selection[0] = ‘\0‘;

        CString csStatusText;
        BOOL bOk = pDirDialogObj->SelChanged(selection csStatusText);

        if( pDirDialogObj->m_bStatus )
            ::SendMessage(hwnd BFFM_SETSTATUSTEXT  0 (LPARAM)(LPCSTR)csStatusText);

        ::SendMessage(hwnd BFFM_ENABLEOK 0 bOk);
    }
  return 0;
}

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDirDialog::CDirDialog()
{
m_bStatus = FALSE;
}

CDirDialog::~CDirDialog()
{

}


BOOL CDirDialog::DoBrowse(CWnd *pwndParent)
{

    if( ! m_strSelDir.IsEmpty() )
    {
        m_strSelDir.TrimRight();
        if( m_strSelDir.Right(1) == “\\“ || m_strSelDir.Right(1) == “//“ )
            m_strSelDir = m_strSelDir.Left(m_strSelDir.GetLength() - 1);
    }

    LPMALLOC pMalloc;
    if (SHGetMalloc (&pMalloc)!= NOERROR)
        return FALSE;

    BROWSEINFO bInfo;
    LPITEMIDLIST pidl;
    ZeroMemory ( (PVOID) &bInfosizeof (BROWSEINFO));

    if (!m_strInitDir.IsEmpty ())
    {
        OLECHAR       olePath[MAX_PATH];
        ULONG         chEaten;
        ULONG         dwAttributes;
        HRESULT       hr;
        LPSHELLFOLDER pDesktopFolder;
        //
        // Get a pointer to the Desktop‘s IShellFolder interface.
        //
        if (SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder)))
        {
            //
            // IShellFolder::ParseDisplayName requires the file name be in Unicode.
            //
            MultiByteToWideChar(CP_ACP MB_PRECOMPOSED m_strInitDir.GetBuffer(MAX_PATH) -1
                                olePath MAX_PATH);

            m_strInitDir.ReleaseBuffer (-1);
            //
            // Convert the path to an ITEMIDLIST.
            //
            hr = pDeskt

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4513  2013-04-27 14:10  retrieval_1\DirDialog.cpp

     文件        968  2013-04-27 14:08  retrieval_1\DirDialog.h

     文件       3669  2013-04-27 12:41  retrieval_1\ReadMe.txt

     文件       1078  2013-04-27 12:41  retrieval_1\res\retrieval_1.ico

     文件        403  2013-04-27 12:41  retrieval_1\res\retrieval_1.rc2

     文件       1471  2013-04-30 08:53  retrieval_1\resource.h

     文件      37588  2013-05-13 23:08  retrieval_1\retrieval_1.aps

     文件       2175  2013-05-14 14:01  retrieval_1\retrieval_1.clw

     文件       2100  2013-04-27 12:41  retrieval_1\retrieval_1.cpp

     文件       4460  2013-04-28 22:59  retrieval_1\retrieval_1.dsp

     文件        530  2013-04-27 12:41  retrieval_1\retrieval_1.dsw

     文件       1379  2013-04-27 12:41  retrieval_1\retrieval_1.h

     文件      66560  2013-05-14 14:01  retrieval_1\retrieval_1.ncb

     文件      54784  2013-05-14 14:01  retrieval_1\retrieval_1.opt

     文件        256  2013-05-14 14:00  retrieval_1\retrieval_1.plg

     文件       7195  2013-05-13 23:08  retrieval_1\retrieval_1.rc

     文件      17895  2013-05-14 13:55  retrieval_1\retrieval_1Dlg.cpp

     文件       2541  2013-05-14 13:46  retrieval_1\retrieval_1Dlg.h

     文件        213  2013-04-27 12:41  retrieval_1\StdAfx.cpp

     文件        999  2013-04-27 12:41  retrieval_1\StdAfx.h

     文件       4107  2013-04-27 18:27  retrieval_1\TokenEx.cpp

     文件       2261  2013-04-27 18:27  retrieval_1\TokenEx.h

     目录          0  2013-06-05 20:39  retrieval_1\res

     目录          0  2013-07-17 19:24  retrieval_1

----------- ---------  ---------- -----  ----

               217145                    24


评论

共有 条评论