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

网站开发与设计培训的就业前景/百度实时热搜榜

网站开发与设计培训的就业前景,百度实时热搜榜,h5怎么制作小程序,湘潭什么网站做c1题目贴一下鼠标绘制矩形的代码和效果图。 #include <opencv2/opencv.hpp> using namespace cv;#define WINDOW_NAME "【程序窗口】" //为窗口标题定义的宏//---------------【全局函数声明部分】-------------------- // 描述&#xff1a;全局函数的声明 //------…

贴一下鼠标绘制矩形的代码和效果图。

#include <opencv2/opencv.hpp>
using namespace cv;#define WINDOW_NAME "【程序窗口】"	//为窗口标题定义的宏//---------------【全局函数声明部分】--------------------
//	描述:全局函数的声明
//-------------------------------------------------------
void on_MouseHandle(int event, int x, int y, int flag, void* param);
void DrawRectangle(cv::Mat& img, cv::Rect box);
void ShowHelpText();//---------------【全局变量声明部分】--------------------
//	描述:全局变量的声明
//-------------------------------------------------------
Rect g_rectangle;
bool g_bDrawingBox = false;//是否进行绘制
RNG g_rng(12345);//---------------【main()函数】--------------------------
//	描述:控制台应用程序的入口函数
//-------------------------------------------------------
int main()
{//【1】准备函数g_rectangle = Rect(-1, -1, 0, 0);Mat srcImage(600, 800, CV_8UC3), tempImage;srcImage.copyTo(tempImage);g_rectangle = Rect(-1, -1, 0, 0);srcImage = Scalar::all(0);//【2】设置鼠标设置回调函数namedWindow(WINDOW_NAME);setMouseCallback(WINDOW_NAME, on_MouseHandle, (void*)&srcImage);//【3】程序主循环,当进行绘制的标识符为真时,进行绘制while (1){srcImage.copyTo(tempImage);//复制原图到临时变量if (g_bDrawingBox){DrawRectangle(tempImage, g_rectangle);//当进行绘制的标识符为真时,进行绘制}imshow(WINDOW_NAME, tempImage);if (waitKey(10) == 27){break;}}return 0;
}//---------------【on_MouseHandle()函数】--------------------------
//	描述:鼠标回调函数,根据不同的鼠标事件进行不同的操作
//-----------------------------------------------------------------
void on_MouseHandle(int event, int x, int y, int flags, void* param)
{Mat& image = *(cv::Mat*) param;switch (event){//鼠标移动消息case EVENT_MOUSEMOVE:{if (g_bDrawingBox)//如果是否进行绘制的标识符为真,则记录下长和宽到RECT型变量中{g_rectangle.width = x - g_rectangle.x;g_rectangle.height = y - g_rectangle.y;}}break;//左键按下消息case EVENT_LBUTTONDOWN:{g_bDrawingBox = true;g_rectangle = Rect(x, y, 0, 0);//记录起始点}break;//左键抬起消息case EVENT_LBUTTONUP:{g_bDrawingBox = false;//置标识符为false//对宽和高小于0的处理if (g_rectangle.width<0){g_rectangle.x += g_rectangle.width;g_rectangle.width *= -1;}if (g_rectangle.height<0){g_rectangle.y += g_rectangle.height;g_rectangle.height *= -1;}//调用函数进行绘制DrawRectangle(image, g_rectangle);}break;}
}//---------------【DrawRectangle()函数】--------------------------
//	描述:自定义的矩形绘制函数
//-----------------------------------------------------------------
void DrawRectangle(cv::Mat& img, cv::Rect box)
{rectangle(img, box.tl(), box.br(), Scalar(g_rng.uniform(0, 255), g_rng.uniform(0, 255), g_rng.uniform(0, 255)));//随机颜色
}

on_MouseHandle()是鼠标点击的回调函数,处理鼠标相关事件。

RNG::uniform(a1, a2 )  返回一个[a1,a2)范围的均匀分布的随机数,上述代码用来产生随机颜色。

具体绘制矩形的函数rectangle的原型如下:

CV_EXPORTS_W void rectangle(InputOutputArray img, Point pt1, Point pt2,const Scalar& color, int thickness = 1,int lineType = LINE_8, int shift = 0);

Scalar的三个值对应三原色的占比,以此实现调色的目的。

http://www.jmfq.cn/news/4822003.html

相关文章:

  • 微信机器人wordpress/网站排名怎么优化
  • 网站规划的原则有哪些/百度用户服务中心官网
  • 做网站 流量怎么抓钱/seo培训一对一
  • 洛阳有建社网站的吗/免费站长统计工具
  • 部门做网站优点/揭阳新站seo方案
  • 怎么看网站被惩罚/西地那非片的功能主治
  • 做服装公司需要什么网站/网页做推广
  • 加强网站建设与管理的通知/百度云盘下载
  • 网站如何做电脑和手机app/优化关键词排名seo软件
  • 西安企业网站建设哪家好/怎么查看网站的友情链接
  • 如皋做网站公司/在线检测网站安全
  • 做seo的网站推广/知名品牌营销案例100例
  • 各种类型网站建设/搜索关键词优化排名
  • 设计制造中国第一架飞机的人是/seo优化中商品权重主要由什么决定
  • 把自己做的动画传到哪个网站上/网站设计是做什么的
  • 服饰网站建设/百度舆情
  • 中国建筑装饰网排行/宁波优化网页基本流程
  • 从seo角度谈网站建设/长沙seo优化哪家好
  • 做网站到底能不能赚钱/网络营销策划创意案例点评
  • 河北提供网站建设公司电话/百度关键词指数
  • 1免费建站网站/如何制作一个个人网站
  • 营销型外贸网站建设/app推广拉新
  • 个人网站建设方案书模板/网建
  • 山东省工程建设协会网站/百度关键词在线优化
  • 建网站的公司起什么名好/做销售记住这十句口诀
  • php动态网站开发项目模板/石家庄网站建设方案优化
  • 国外做美食视频网站/济南seo网络优化公司
  • 工信部网站bbs备案/电商网站卷烟订货流程
  • 网站建设 支持多种语言/seo搜索优化是什么意思
  • 智能建站模版/seo短视频入口