//创建画板
HDC hScreen = CreateDC("DISPLAY", NULL, NULL, NULL);
HDC hCompDC = CreateCompatibleDC(hScreen);
//取屏幕宽度和高度
int nWidth = GetSystemMetrics(SM_CXSCREEN);
int nHeight = GetSystemMetrics(SM_CYSCREEN);
//创建Bitmap对象
hBmp = CreateCompatibleBitmap(hScreen, nWidth, nHeight);
hOld = (HBITMAP)SelectObject(hCompDC, hBmp);
BitBlt(hCompDC, 0, 0, nWidth, nHeight, hScreen, 0, 0, SRCCOPY);
SelectObject(hCompDC, hOld);
//释放对象
DeleteDC(hScreen);
DeleteDC(hCompDC);
BITMAP bmp;
GetObject(_hBmp,sizeof(BITMAP),&bmp);
int nChannels = bmp.bmBitsPixel == 1 ? 1 : bmp.bmBitsPixel/8 ;
int depth = bmp.bmBitsPixel == 1 ? IPL_DEPTH_1U : IPL_DEPTH_8U;
//mat操作
Mat v_mat;
v_mat.create(cvSize(bmp.bmWidth,bmp.bmHeight), CV_MAKETYPE(CV_8U,nChannels));
GetBitmapBits(_hBmp,bmp.bmHeight*bmp.bmWidth*nChannels,v_mat.data);
_mat=v_mat;
return TRUE;
}声明:转载请声明出处,本人入门级菜鸟,有问题大佬多多指教:QQ941131649
在http://www.cnblogs.com/wangjixianyun/archive/2013/04/10/3012556.html
写的程序的基础上加上
opencv
的保存jpeg格式的函数上编写下面的程序。
下面的程序有很清楚的注释。
#define _AFXDLL//为了方便是用mfc类
#include
#include
#include
#include
#inclu
项目编写的C
+
+
程序,根据输入的字符串,遍历所有桌面窗口标题,查找包含该标题的窗口,对该桌面窗口进行
截图
,以梦幻西游为例
输入:桌面窗口包含的字符串 比如输入“梦幻”,程序就会截取桌面“梦幻西游”的窗口
输出:该桌面窗口的
截图
,数据类型为
opencv
的Mat矩阵
该项目基于
OpenCV
实现
项目主要作用是
实现
图像的
显示
并
完成类似
截图
的功能
1 操作方法:
在感兴趣区域 ROI 的左上角位置左击一次 放开左键
并
拖动鼠标则将在图中出现白色矩形方框 至ROI的右下角再次左击则退出
该程序不获取
图片
只获得始 末点的像素位置;
截图
时以鼠标放开时的位置为准;
截图
方向为左上 >右下;
希望这一程序能对
OpenCV
的初学者起到抛砖引玉的作用 ">该项目基于
OpenCV
实现
项目主要作用是
实现
图像的
显示
并
完成类似
截图
的功能
1 操作方法:
在感兴趣区域 ROI 的左上角位置左击一次 放开左键
并
拖动鼠标则将在图中出现白色矩形方框 至ROI的右下角再次左击则退出
2 [更多]
windows api+opencv实现动态截屏并显示
Neil.Zhang:
windows api+opencv实现动态截屏并显示
Neil.Zhang:
windows api+opencv实现动态截屏并显示
Ahacker_l:
windows api+opencv实现动态截屏并显示
Ahacker_l: