内容为:
1,VS 2013以及OPENCV环境的配置,然后进行基本的调用,绘图。
2,python 进行窗口绘制。
首先开始第一部分:
回忆研究生课题,貌似那个时候还是以 VC6.0的MFC + OPENCV1.0。。
现在已经是 visual studio 2013以及OPENCV3.0了。好在配置的方式差异不大,这里记录一下。
首先当然是安装VS以及OPENCV,然后,配置OPENCV的环境。
1.1 配置 环境变量中的 path "安装目录"\opencv\build\x64\vc12\bin 这里配置的是64位的,32位的选择86
1.2 添加头文件,在调试菜单栏,选择 属性。
配置管理器,平台选择 x64。
包含目录添加 :
D:\Downloads\opencv\build\include;D:\Downloads\opencv\build\include\opencv2;D:\Downloads\opencv\build\include\opencv;
库目录:
D:\Downloads\opencv\build\x64\vc12\lib
D:\Downloads\opencv\build\x64\vc12\staticlib
连接器,输入,添加:
opencv_world300d.lib;
opencv_ts300d.lib;
1.3 添加函数,我是在 dialog里面增加了一个button 控件,点击后调用那段代码的。
资源视图,找到dialog。
工具箱中,添加buttoN
双击添加 响应函数。
void CMY_opencvDlg::OnBnClickedButton1()
{// TODO: 在此添加控件通知处理程序代码
IplImage * test;
test = cvLoadImage("D:\\1.jpg");
cvNamedWindow("test_demo", 1);
cvShowImage("test_demo", test);
cvWaitKey(0);
cvReleaseImage(&test);
cvDestroyWindow("test_demo");
}
添加头文件,
#include <cv.h>
#include <highgui.h>
1.4 不另外创建窗口,直接在Picture control控件上画图。
首先在dialog上创建 picture control控件。
然后修改控件ID,IDC_STATIC_opencv
在 init函数中,将opencv创建的窗口与 pictrue control 绑定。
//为了怕麻烦,还是贴明出处
作者:jie wu
链接:https://www.zhihu.com/question/29611790/answer/45068617
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
BOOL CMY_opencvDlg::OnInitDialog()
// TODO: 在此添加额外的初始化代码
cvNamedWindow("view", CV_WINDOW_AUTOSIZE);
HWND hWnd = (HWND)cvGetWindowHandle("view");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(IDC_STATIC_opencv)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);
再添加一个button
void CMY_opencvDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
IplImage * test;
test = cvLoadImage("D:\\1.jpg");
cvShowImage("view", test);
cvWaitKey(0);
cvReleaseImage(&test);
}
OK,done。
2,python 绘制窗口,绑定 opencv
突然发现,python 绑定opencv真是简单,,,以前调Camera ITS的时候,复制一个cv2.pyd的时候,就做过了。。
这次弄一下opencv 3.0的吧,,,把 opencv 3.0里面,build目录下, python中的 cv2.pyd,复制到,C:\Python27\Lib\site-packages,结束。
测试代码:
import cv2 as cv
img = cv.imread("D:\\1.jpg")
cv.namedWindow("Image",0x00000001)
cv.imshow("Image",img)
cv.waitKey(0)
cv2.destroyAllWindows()