VS配置SDK

对于有 w32和x64 两种类型的SDK,选中配置的类型取决于vs编译器。若是vs2010用w32。与PC操作系统的位数无关。

Debug模式下使用debug的SDK;Release模式下使用Release的SDK。

1、添加include中的.h文件:工程---属性---配置属性---VC++目录---包含目录

2、然后添加工程引用的.DLL路径:工程---属性---配置属性-- VC++目录---引用目录

3、添加文件引用的lib静态库路径:工程---属性---配置属性--- VC++目录---库目录

4、然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项

5、将.DLL放入到工程的可执行文件所在的目录。

参考:http://www.cnblogs.com/me115/archive/2011/01/24/1942901.html

WAY2

在VS工程中,添加c/c++工程中外部头文件及库的基本步骤:

    1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

    2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
         然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

    3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。

其中第三点也可以替换为:

http://blog.csdn.net/lsxpu/article/details/44347957

"工程属性" ==> "调试" ==> "环境"里,添加类似如下所示的内容:

PATH=C:\Users\UCAS\Documents\IC

Imaging

Control

3.4\classlib\win32\debug;%PATH%

注:文件路径后面一定要加英文分号(;),否则路径读取失败

 

注:

对于pcomm加入.lib文件时,只需加入大写的PCOMM.LIB文件,不用管小写的那个。

头文件加入#include "stdafx.h"   #include       #include  "PComm.h"

 

 

 

如何实现MFC窗口的最大化以及控件随最大化发生位置变动原因

Q:如何实现MFC窗口的最大化以及控件随最大化发生位置变动原因

http://bbs.csdn.net/topics/391832152?locationNum=5

 

 

笔记二:如何将buffer中的图像数据显示在MFC的Picture控件中?  (2018.1.24)

先将buffer中数据转化为Mat格式,再以Mat类格式显示在窗口控件中。

cv::Mat frame(sFrameInfo.iHeight,sFrameInfo.iWidth , CV_8UC3, pThis->m_pDisplayBufferROI1);

ShowMatImgToWnd(pThis->GetDlgItem( IDC_STATIC_PREVIEW_ROI1), frame);

其中函数ShowMatImgToWnd定义如下:

 

void ShowMatImgToWnd(CWnd* pWnd, cv::Mat img) 

{    

    if(img.empty())   

        return;   



    CRect drect;        

    pWnd->GetClientRect(&drect);    //(drect);  (&drect);  两种方式均可,竟然  



    CClientDC dc(pWnd); 

    HDC hDC =dc.GetSafeHdc(); 



    //内存中的图像数据拷贝到屏幕上 

    BYTE *bitBuffer        = NULL; 

    BITMAPINFO *bitMapinfo = NULL; 



    int ichannels =img.channels(); 

    if( ichannels == 1) 

    { 

        bitBuffer  = new BYTE[40+4*256];  

    } 

    else if( ichannels == 3) 

    { 

        bitBuffer  = new BYTE[sizeof(BITMAPINFO)];  

    } 

    else 

    { 

        return; 

    } 





    if(bitBuffer == NULL) 

    {    

        return; 

    } 





    bitMapinfo = (BITMAPINFO *)bitBuffer; 

    bitMapinfo->bmiHeader.biSize         = sizeof(BITMAPINFOHEADER); 

    bitMapinfo->bmiHeader.biHeight           = -img.rows;  //如果高度为正的,位图的起始位置在左下角。如果高度为负,起始位置在左上角。 

    bitMapinfo->bmiHeader.biWidth            = img.cols; 

    bitMapinfo->bmiHeader.biPlanes           = 1;      // 目标设备的级别,必须为1    

    bitMapinfo->bmiHeader.biBitCount     = ichannels *8;     // 每个像素所需的位数,必须是1(双色), 4(16色),8(256色)或24(真彩色)之一 

    bitMapinfo->bmiHeader.biCompression      = BI_RGB; //位图压缩类型,必须是 0(不压缩), 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一 

    bitMapinfo->bmiHeader.biSizeImage        = 0;      // 位图的大小,以字节为单位 

    bitMapinfo->bmiHeader.biXPelsPerMeter    = 0;      // 位图水平分辨率,每米像素数 

    bitMapinfo->bmiHeader.biYPelsPerMeter    = 0;      // 位图垂直分辨率,每米像素数 

    bitMapinfo->bmiHeader.biClrUsed          = 0;      // 位图实际使用的颜色表中的颜色数 

    bitMapinfo->bmiHeader.biClrImportant = 0;      // 位图显示过程中重要的颜色数 



    if(ichannels == 1) 

    { 

        for(int i=0; i<256; i++) 

        {   //颜色的取值范围 (0-255) 

            bitMapinfo->bmiColors[i].rgbBlue  =bitMapinfo->bmiColors[i].rgbGreen =bitMapinfo->bmiColors[i].rgbRed   =(BYTE) i; 

        } 



        bitMapinfo->bmiHeader.biClrUsed          = 256;    // 位图实际使用的颜色表中的颜色数 

    } 

    SetStretchBltMode(hDC, COLORONCOLOR); 





    StretchDIBits(hDC, 

        0, 

        0, 

        drect.right,        //显示窗口宽度 

        drect.bottom,       //显示窗口高度 

        0, 

        0, 

        img.cols,          //图像宽度 

        img.rows,          //图像高度 

        img.data,            

        bitMapinfo,          

        DIB_RGB_COLORS,  

        SRCCOPY 

        ); 



    delete []bitBuffer; 



}

 

Error: opencv中报错:无法打开文件cxcore.lib

当使用低版本的opencv库函数时,编译器报出上面的错误,解决方法为:连接器->输入->附加依赖项:(全部删除掉,或者换成新版本。

opencv_core2411.lib

opencv_ml2411.lib

opencv_highgui2411.lib

opencv_calib3d2411.lib

opencv_features2d2411.lib

opencv_flann2411.lib

opencv_imgproc2411.lib

opencv_video2411.lib

opencv_objdetect2411.lib)

你可能感兴趣的:(笔记)