OpenCV练习12-用滚动条移动图片.zip
这是一个关于OpenCV的入门练习,压缩文件包中OpenCV包括:编程说明,完整的VS2015工程,全部的源代码,编译结果和测试用图等。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-01-06 07:04 OpenCV练习12-用滚动条移动图片
目录 0 2020-01-06 07:02 OpenCV练习12-用滚动条移动图片 est
目录 0 2018-12-11 19:31 OpenCV练习12-用滚动条移动图片 est.vs
目录 0 2018-12-11 19:31 OpenCV练习12-用滚动条移动图片 est.vs est
目录 0 2018-12-11 19:31 OpenCV练习12-用滚动条移动图片 est.vs estv14
文件 29184 2020-01-03 06:22 OpenCV练习12-用滚动条移动图片 est.vs estv14.suo
目录 0 2018-12-19 17:47 OpenCV练习12-用滚动条移动图片 estDebug
目录 0 2018-12-20 19:19 OpenCV练习12-用滚动条移动图片 est est
文件 6675 2018-12-20 19:19 OpenCV练习12-用滚动条移动图片 est estmain.cpp
文件 298414 2018-12-06 05:43 OpenCV练习12-用滚动条移动图片 est est 12.jpg
文件 7374 2018-12-11 19:33 OpenCV练习12-用滚动条移动图片 est est est.vcxproj
文件 945 2018-12-11 19:33 OpenCV练习12-用滚动条移动图片 est est est.vcxproj.filters
目录 0 2018-12-11 19:33 OpenCV练习12-用滚动条移动图片 est estx64
目录 0 2018-12-20 19:19 OpenCV练习12-用滚动条移动图片 est estx64Debug
文件 105633 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debugmain.obj
文件 105360 2018-12-20 17:45 OpenCV练习12-用滚动条移动图片 est estx64Debugmain.obj.enc
文件 239 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.log
目录 0 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlog
文件 570 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogCL.command.1.tlog
文件 39506 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogCL.read.1.tlog
文件 396 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogCL.write.1.tlog
文件 1164 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tloglink.command.1.tlog
文件 3612 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tloglink.read.1.tlog
文件 382 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tloglink.write.1.tlog
文件 210 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlog est.lastbuildstate
文件 1051648 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debugvc140.idb
文件 929792 2018-12-20 19:19 OpenCV练习12-用滚动条移动图片 est estx64Debugvc140.pdb
文件 1294 2018-12-11 19:31 OpenCV练习12-用滚动条移动图片 est est.sln
文件 33685504 2020-01-03 06:22 OpenCV练习12-用滚动条移动图片 est est.VC.db
文件 58 2020-01-06 07:02 OpenCV练习12-用滚动条移动图片 est est.VC.VC.opendb
目录 0 2018-12-11 19:33 OpenCV练习12-用滚动条移动图片 estx64
............此处省略5个文件信息
// Image_ScrollBar.cpp : Defines the entry point for the console application.
//
#include
#include
#include
#include
#include
using namespace std;
double mx = 0 my = 0;
int dx = 0 dy = 0 horizBar_x = 0 vertiBar_y = 0;
bool clickVertiBar = false clickHorizBar = false needScroll = false;
CvRect rect_bar_horiz rect_bar_verti;
void help()
{
printf(
“/n“
“This program demonstrated the use of the cvSetMouseCallback /n“
“for viewing large image with scroll bar in a small window/n“
“created by OpenCV highgui model. (chenyusiyuan 2011-06-24)/n“
“Call:/n“
“./Image_ScrollBar [ ]/n/n“
);
}
void mouse_callback(int event int x int y int flags void* param)
{
if (needScroll)
{
switch (event)
{
case CV_EVENT_LBUTTONDOWN:
mx = x my = y;
dx = 0 dy = 0;
// 按下左键时光标定位在水平滚动条区域内
if (x >= rect_bar_horiz.x && x <= rect_bar_horiz.x + rect_bar_horiz.width
&& y >= rect_bar_horiz.y && y <= rect_bar_horiz.y + rect_bar_horiz.height)
{
clickHorizBar = true;
}
// 按下左键时光标定位在垂直滚动条区域内
if (x >= rect_bar_verti.x && x <= rect_bar_verti.x + rect_bar_verti.width
&& y >= rect_bar_verti.y && y <= rect_bar_verti.y + rect_bar_verti.height)
{
clickVertiBar = true;
}
break;
case CV_EVENT_MOUSEMOVE:
if (clickHorizBar)
{
dx = fabs(x - mx) > 1 ? (int)(x - mx) : 0;
dy = 0;
}
if (clickVertiBar)
{
dx = 0;
dy = fabs(y - my) > 1 ? (int)(y - my) : 0;
}
mx = x my = y;
break;
case CV_EVENT_LBUTTONUP:
mx = x my = y;
dx = 0 dy = 0;
clickHorizBar = false;
clickVertiBar = false;
break;
default:
dx = 0 dy = 0;
break;
}
}
}
void myShowImageScroll(char* title IplImage* src_img
int winWidth = 1000 int winHeight = 700) // 显示窗口大小默认为 1400×700
{
HWND hWnd = (HWND)cvGetWindowHandle(title);
if (hWnd == NULL)
return;
RECT rect;
GetWindowRect(hWnd &rect);
int cw1 = GetSystemMetrics(SM_CXFULLSCREEN); //屏幕大小(不包括任务栏等区域)
int ch1 = GetSystemMetrics(SM_CYFULLSCREEN);
int cw2 = GetSystemMetrics(SM_CXSCREEN); //真正屏幕的大小
int ch2 = GetSystemMetrics(SM_CYSCREEN);
int dw = 10;
int cw = cw1 - 2 * dw;
int ch = ch1 - 2 * dw;
int ww = rect.right - rect.left + 1;
int wh = rect.bottom - rect.top + 1;
if (ww > cw1) ww = cw1;
if (wh > ch1)wh = ch1;
winWidth = ww;
winHeight = wh;
IplImage* dst_img;
CvRect rect_dst // 窗口中有效的图像显示区域
rect_src; // 窗口图像对应于源图像中的区域
int imgWidth = src_img->width
imgHeight = src_img->height
barWidth = 21; // 滚动条的宽度(像素)
double scale_w = (double)imgWidth / (double)winWidth // 源图像与窗口的宽度比值 用以判断是否超出显示范围
scale_h = (double)imgHeight / (double)winHeight; // 源图像与窗口的高度比值 用以判断是否超出显示范围
if (scale_w<1)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-01-06 07:04 OpenCV练习12-用滚动条移动图片
目录 0 2020-01-06 07:02 OpenCV练习12-用滚动条移动图片 est
目录 0 2018-12-11 19:31 OpenCV练习12-用滚动条移动图片 est.vs
目录 0 2018-12-11 19:31 OpenCV练习12-用滚动条移动图片 est.vs est
目录 0 2018-12-11 19:31 OpenCV练习12-用滚动条移动图片 est.vs estv14
文件 29184 2020-01-03 06:22 OpenCV练习12-用滚动条移动图片 est.vs estv14.suo
目录 0 2018-12-19 17:47 OpenCV练习12-用滚动条移动图片 estDebug
目录 0 2018-12-20 19:19 OpenCV练习12-用滚动条移动图片 est est
文件 6675 2018-12-20 19:19 OpenCV练习12-用滚动条移动图片 est estmain.cpp
文件 298414 2018-12-06 05:43 OpenCV练习12-用滚动条移动图片 est est 12.jpg
文件 7374 2018-12-11 19:33 OpenCV练习12-用滚动条移动图片 est est est.vcxproj
文件 945 2018-12-11 19:33 OpenCV练习12-用滚动条移动图片 est est est.vcxproj.filters
目录 0 2018-12-11 19:33 OpenCV练习12-用滚动条移动图片 est estx64
目录 0 2018-12-20 19:19 OpenCV练习12-用滚动条移动图片 est estx64Debug
文件 105633 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debugmain.obj
文件 105360 2018-12-20 17:45 OpenCV练习12-用滚动条移动图片 est estx64Debugmain.obj.enc
文件 239 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.log
目录 0 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlog
文件 570 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogCL.command.1.tlog
文件 39506 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogCL.read.1.tlog
文件 396 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogCL.write.1.tlog
文件 1164 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogli
文件 3612 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogli
文件 382 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlogli
文件 210 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debug est.tlog est.lastbuildstate
文件 1051648 2020-01-03 06:11 OpenCV练习12-用滚动条移动图片 est estx64Debugvc140.idb
文件 929792 2018-12-20 19:19 OpenCV练习12-用滚动条移动图片 est estx64Debugvc140.pdb
文件 1294 2018-12-11 19:31 OpenCV练习12-用滚动条移动图片 est est.sln
文件 33685504 2020-01-03 06:22 OpenCV练习12-用滚动条移动图片 est est.VC.db
文件 58 2020-01-06 07:02 OpenCV练习12-用滚动条移动图片 est est.VC.VC.opendb
目录 0 2018-12-11 19:33 OpenCV练习12-用滚动条移动图片 estx64
............此处省略5个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)