当前位置: 首页 > news >正文

php wap网站实现滑动式数据分页郑州七彩网站建设公司 概况

php wap网站实现滑动式数据分页,郑州七彩网站建设公司 概况,鄞州区网站建设报价,免费网站去哪找文章目录 opencv鼠标事件函数setMouseCallback()详解1、鼠标事件函数:(1)鼠标事件函数原型:setMouseCallback(),此函数会在调用之后不断查询回调函数onMouse(),直到窗口销毁(2)回调函…

文章目录

        • opencv鼠标事件函数setMouseCallback()详解
          • 1、鼠标事件函数:
            • (1)鼠标事件函数原型:setMouseCallback(),此函数会在调用之后不断查询回调函数onMouse(),直到窗口销毁
            • (2)回调函数onMouse(),可随意命名,但是要与 setMouseCallback()函数里的回调函数名称一致
          • 2、代码示例:
            • (1)main.cpp
            • (2)头文件demo.h
            • (3)demo.cpp
            • (4)效果演示

opencv鼠标事件函数setMouseCallback()详解

1、鼠标事件函数:
(1)鼠标事件函数原型:setMouseCallback(),此函数会在调用之后不断查询回调函数onMouse(),直到窗口销毁
  void setMouseCallback(const String& winname, MouseCallback onMouse, void* userdata = 0
)参数解释:winname:窗口名称;onMouse:回调函数;userdata:传递给回调函数用户自定义的外部数据,userdata是一个 void 类型的指针;
(2)回调函数onMouse(),可随意命名,但是要与 setMouseCallback()函数里的回调函数名称一致
void onMouse(int event, int x, int y, int flags, void *userdata
) 参数解释:
event:表示鼠标事件类型的常量(#define CV_EVENT_MOUSEMOVE 0             //滑动#define CV_EVENT_LBUTTONDOWN 1           //左键点击#define CV_EVENT_RBUTTONDOWN 2           //右键点击#define CV_EVENT_MBUTTONDOWN 3           //中键点击#define CV_EVENT_LBUTTONUP 4             //左键放开#define CV_EVENT_RBUTTONUP 5             //右键放开#define CV_EVENT_MBUTTONUP 6             //中键放开#define CV_EVENT_LBUTTONDBLCLK 7         //左键双击#define CV_EVENT_RBUTTONDBLCLK 8         //右键双击#define CV_EVENT_MBUTTONDBLCLK 9         //中键双击
);
x和y:鼠标指针在图像坐标系的坐标;
flags:鼠标事件标志的常量;
userdata:回调函数接收,用户自定义的外部数据,userdata是一个 void 类型的指针;
2、代码示例:

利用鼠标事件函数,提取ROI区域:

(1)main.cpp
#include <opencv2\opencv.hpp>
#include <iostream>
#include <demo.h>using namespace cv;
using namespace std;int main() {//读取图像,BGR存储在Mat矩阵里Mat src = cv::imread("C:\\cpp\\image\\suzy4.jpg");if (src.empty()) {printf("could not load image..../n");return -1;}Demo demo;demo.mouseEvent(src);waitKey();destroyAllWindows();return 0;
}
(2)头文件demo.h
#include <opencv2/opencv.hpp>using namespace cv;class Demo
{
public:void mouseEvent(Mat &image);
private:};
(3)demo.cpp
#include <Demo.h>using namespace std;Point sp(-1, -1);
Point ep(-1, -1);
Mat temp;
static void onMouse(int event, int x, int y, int flags, void *userdata) {/*** 对指针userdata,进行转换和解引用的操作,将userdata指向的Mat对象,赋值给名为image的变量,以便后续对图像数据的处理:* userdata是一个void类型的指针,需要转换为Mat类型的指针,然后用*运算符解引用,得到Mat对象,再赋值给名为image的变量,这样就可以对image进行操作了;*/Mat image = *((Mat*)userdata);if (event == EVENT_LBUTTONDOWN) {// 起点坐标sp.x = x;sp.y = y;std::cout << "start point:" << sp << std::endl;}else if (event == EVENT_LBUTTONUP) {ep.x = x;ep.y = y;// 结束点坐标int dx = ep.x - sp.x;int dy = ep.y - sp.y;if (dx > 0 && dy > 0) {Rect box(sp.x, sp.y, dx, dy);temp.copyTo(image);imshow("ROI区域", image(box));rectangle(image, box, Scalar(0, 0, 255), 2, 8, 0);imshow("鼠标绘制", image);// ready for next drawingsp.x = -1;sp.y = -1;}}else if (event == EVENT_MOUSEMOVE) {if (sp.x > 0 && sp.y > 0) {ep.x = x;ep.y = y;int dx = ep.x - sp.x;int dy = ep.y - sp.y;if (dx > 0 && dy > 0) {Rect box(sp.x, sp.y, dx, dy);temp.copyTo(image);rectangle(image, box, Scalar(0, 0, 255), 2, 8, 0);imshow("鼠标绘制", image);}}}
}void Demo::mouseEvent(Mat &image) {namedWindow("鼠标事件", WINDOW_AUTOSIZE);/*** 由于回调函数需要传入的是一个void类型指针,我们先取image的地址,再将&image强制转换为void类型指针,具体操作如下:* &image:获取变量image的内存地址,即Mat对象的指针;* (void*):是一个强制类型转换,将image的地址转换为void类型指针,这样就可以将参数传递给回调函数了;*/setMouseCallback("鼠标绘制", onMouse, (void*)(&image));imshow("鼠标绘制", image);temp = image.clone();
}
(4)效果演示

在这里插入图片描述

http://www.yayakq.cn/news/812874/

相关文章:

  • 茌平网站建设公司铋格品牌策划公司
  • 网站的通栏怎么做字节跳动现有员工人数
  • 网站建设专业导航网站网站怎么做能提升ip流量
  • 合肥网站建设技术支持flash 如何做游戏下载网站
  • 中国空间站设计在轨飞行几年中国式现代化是自主产权
  • 办公门户网站模板空调设备公司网站建设
  • 连云港网站建设电话做文字图网站
  • 南宁网站开发建设网站开发PHP招聘
  • 青岛网站建设找正信长春智联招聘网最新招聘
  • wordpress怎么上传自己的网站吗网站开发小图片
  • 做外贸seo优化的上市公司优化大师破解版app
  • 网站的速度诊断怎么做网站设计培训班哪家好
  • 百度移动网站建设有几种wordpress编辑图片
  • 怎么在网站上做按钮网站开发项目步骤
  • 招投标网站建设开发商城网站jq楼层响应
  • 哈密网站制作莱芜人才网招聘网
  • 企业网站建设公司上海婚礼效果图网站
  • 郑州知名做网站公司网站使用方法
  • 南昌it制作电商网站的公司简单的手机网址大全
  • 网站制作公司嘉兴常用网站建设技术是什么意思
  • 培训班学员培训心得单页面网站怎么优化
  • 字体设计教程网站在vs上用c 做登录网站
  • 东莞建设专业网站电脑网站模板
  • 自己做购物网站需要什么微博推广的优势
  • 最新企业网站模板网站制作公司美股上市
  • 潍坊建设局职称公布网站网站备案域名怎么买
  • 属于网站seo分析什么软件云南华琴网络科技有限公司
  • 义乌制作网站公司网站中文域名收费吗
  • 宁波网站设计推荐荣盛网络网站建设宣传视频教程
  • 响应式网站 翻译代码免费代理做企业网站