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

做网站的工作有发展空间没有做爰网站贴吧

做网站的工作有发展空间没有,做爰网站贴吧,网站的开发公司倒闭对网站使用,公司建站有哪些优势文章目录 opencv鼠标事件函数setMouseCallback()详解1、鼠标事件函数#xff1a;#xff08;1#xff09;鼠标事件函数原型#xff1a;setMouseCallback()#xff0c;此函数会在调用之后不断查询回调函数onMouse()#xff0c;直到窗口销毁#xff08;2#xff09;回调函… 文章目录 opencv鼠标事件函数setMouseCallback()详解1、鼠标事件函数1鼠标事件函数原型setMouseCallback()此函数会在调用之后不断查询回调函数onMouse()直到窗口销毁2回调函数onMouse()可随意命名但是要与 setMouseCallback()函数里的回调函数名称一致 2、代码示例1main.cpp2头文件demo.h3demo.cpp4效果演示 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区域 1main.cpp #include opencv2\opencv.hpp #include iostream #include demo.husing 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.hppusing namespace cv;class Demo { public:void mouseEvent(Mat image); private:}; 3demo.cpp #include Demo.husing 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.laogonggong.com/news/119869.html

相关文章:

  • 集团公司网站建设品牌杭州做网站的公司
  • 聊城做网站价格莱州网监局
  • 做中英文网站的我们做网站 老公弟弟也跟着做
  • 开家网站设计公司程序员接活的平台网站
  • 小企业网站欣赏怎么做高端品牌网站设计
  • 网站建设公司安丘市个人网站备案号可以做企业网站吗
  • 安徽省安徽省建设工程信息网站网站的推广一般有什么方式
  • 商城网站一般建设的宽度建模培训机构
  • 海西州网站建设公司怎么样建设网站赚钱
  • 个性化定制客户和网站建设怎么做网站图片seo
  • 婚恋网站涂鸦智能深圳分公司
  • 一起做陶艺搬上网站网站和网页不同吗
  • 烟台软件优化网站网页设计教程自学网
  • 网站制作+app+公众号现在网站前台用什么做
  • 大余做网站公司云服务器网站解析
  • 网站后台下载wordpress模板汉化教程
  • 正能量网站入口不用下载免费同程网 网站模板
  • 网站建设需招聘什么专业人唐山seo
  • 青海制作网站的公司星子网招聘
  • 会计网站建设电子商务公司简介怎么写
  • 大理住房和城乡建设局网站掌握夏邑进入公众号
  • python做网站是不是特别慢任务平台网站建设
  • 网站开发 岗位及职责建筑人才网招聘信息
  • 51个人网站怎么打开高端网站制作乐是
  • php个人网站模板关键词排名优化易下拉稳定
  • 网站制作自助html表格制作代码
  • WordPress多站点同步设置青岛注册公司代理
  • 建设联结网同类网站wordpress表单修改
  • 大型服装商城网站建设搜狗推广登录平台
  • 江苏省建设工程八大员考试网站做甜点的网站