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

花店网站建设构思百度推广运营专员

花店网站建设构思,百度推广运营专员,创新logo设计,网站模版与模板的使用1. 背景 以两级级联模型为例,第一级目标检测模型用于检测人员,第二级目标检测模型用于检测手机、对讲机等。然后实际数据采集过程中,手机、对讲机这些设备并不在人员的一级检测框内,使得二级模型训练的样本较少。 二级目标检测模…

1. 背景

以两级级联模型为例,第一级目标检测模型用于检测人员,第二级目标检测模型用于检测手机、对讲机等。然后实际数据采集过程中,手机、对讲机这些设备并不在人员的一级检测框内,使得二级模型训练的样本较少

二级目标检测模型训练阶段,在数据采样时不能仅仅只将一级目标检测框裁剪得到的图像作为输入,还需要动态的裁剪原图,使得手机、对讲机这些设备包含进来,减少背景的干扰。
输入原图
一级目标框区域感兴趣的ROI区域
上面三幅图分别是原图、一级目标检测框区域、训练时想要的目标区域(需要将其他的手机也要揽括进来)。

基本思路:基于opencv的鼠标事件,对显示的原图画矩形框得到感兴趣区域,并将其保存下来。

2. OpenCV鼠标事件

2.1 设置鼠标事件

setMouseCallback(const String & 	winname,  #要设置鼠标事件的窗口名MouseCallback 	onMouse,      #回调函数,当指定窗口产生鼠标事件时,调用的函数名void* userdata = 0)          #传递给回调函数的可选参数

2.2 回调函数原型

void MouseCallback(int event,        #鼠标基础事件int x, int y,           #鼠标在x轴y轴方向上的坐标值,窗口左上角为原点(0,0)int flags,              #flags的值代表鼠标拖拽事件和Ctrl、Shift、Alt按键事件的代号void *userdata)         #用户数据

2.3 鼠标事件

2.3.1 event基本事件

这个对应对调函数的第一个参数event,当鼠标执行相应的动作,event会变成相应的值。

enum
{CV_EVENT_MOUSEMOVE      =0,   //鼠标移动CV_EVENT_LBUTTONDOWN    =1,   //按下左键CV_EVENT_RBUTTONDOWN    =2,   //按下右键CV_EVENT_MBUTTONDOWN    =3,   //按下中键CV_EVENT_LBUTTONUP      =4,   //放开左键CV_EVENT_RBUTTONUP      =5,   //放开右键CV_EVENT_MBUTTONUP      =6,   //放开中键CV_EVENT_LBUTTONDBLCLK  =7,   //左键双击CV_EVENT_RBUTTONDBLCLK  =8,   //右键双击CV_EVENT_MBUTTONDBLCLK  =9,   //中键双击CV_EVENT_MOUSEWHEEL     =10,  //滚轮滚动CV_EVENT_MOUSEHWHEEL    =11   //横向滚轮滚动
};

2.3.2 flag拖拽事件

这个对应回调函数的第四个参数,当存在鼠标拖拽或者于CTRL、shift、ALT相结合拖拽时,flag变成对应的值。

 
enum
{CV_EVENT_FLAG_LBUTTON   =1,   //左键拖拽CV_EVENT_FLAG_RBUTTON   =2,   //右键拖拽CV_EVENT_FLAG_MBUTTON   =4,   //中键拖拽CV_EVENT_FLAG_CTRLKEY   =8,   //按住CTRL拖拽CV_EVENT_FLAG_SHIFTKEY  =16,  //按住Shift拖拽CV_EVENT_FLAG_ALTKEY    =32   //按住ALT拖拽
};
在这里插入代码片

3. 动态裁剪图像

具体的实现代码如下:

import cv2
import osROOT = "data7"		# 原图路径img_cnt = 0def mouse_callback(event, x, y, flags, param):global img_data, point1, point2,g_rect, img_cntimg2 = img_data.copy()if event == cv2.EVENT_LBUTTONDOWN:  # 左键点击,则在原图打点print("1-EVENT_LBUTTONDOWN")point1 = (x, y)cv2.circle(img2, point1, 10, (0, 255, 0), 5)cv2.imshow('image', img2)elif event == cv2.EVENT_MOUSEMOVE and (flags & cv2.EVENT_FLAG_LBUTTON):  # 按住左键拖曳,画框print("2-EVENT_FLAG_LBUTTON")cv2.rectangle(img2, point1, (x, y), (255, 0, 0), thickness=2)cv2.imshow('image', img2)elif event == cv2.EVENT_LBUTTONUP:  # 左键释放,显示print("3-EVENT_LBUTTONUP")point2 = (x, y)cv2.rectangle(img2, point1, point2, (0, 0, 255), thickness=2)cv2.imshow('image', img2)if point1!=point2:min_x = int(min(point1[0], point2[0]))min_y = int(min(point1[1], point2[1]))width = int(abs(point1[0] - point2[0]))height = int(abs(point1[1] - point2[1]))g_rect=[min_x,min_y,width,height]cut_img = img_data[min_y:min_y + height, min_x:min_x + width]   # 从原图上裁剪cv2.imwrite("crop_img_{}.jpg".format(img_cnt), cut_img)         # 图像文件保存print("save image.")img_cnt += 1if __name__ == "__main__":img_lists = os.listdir(ROOT)cv2.namedWindow("image")cv2.setMouseCallback("image", mouse_callback)for img in img_lists:img_path = os.path.join(ROOT, img)if os.path.exists(img_path):print("file existed.")img_data = cv2.imread(img_path)cv2.imshow("image", img_data)k = cv2.waitKey(0)if k == ord('q'):breakcv2.destroyAllWindows()

大致的步骤如下:

  1. 新建窗口,设置回调函数;
  2. 读取并显示原始图像数据;
  3. 捕获左键点击、左键拖拽、左键释放的鼠标事件,进行区域目标框绘制;
  4. 并将区域目标保存下来;

4. 总结

本文主要介绍了针对两级模型级联情况下,二级目标检测算法训练时样本少时一种解决方案,通过上述脚本可以可视化人为的裁剪区域并保存增加训练样本,减少背景干扰。


文章转载自:
http://dinncobluebird.bpmz.cn
http://dinncomagnetotail.bpmz.cn
http://dinncocatholic.bpmz.cn
http://dinncomain.bpmz.cn
http://dinncoirradiation.bpmz.cn
http://dinncodisseminator.bpmz.cn
http://dinncomegakaryocyte.bpmz.cn
http://dinncolpi.bpmz.cn
http://dinncolint.bpmz.cn
http://dinncodeplumate.bpmz.cn
http://dinncoswither.bpmz.cn
http://dinncosharp.bpmz.cn
http://dinncosensurround.bpmz.cn
http://dinncolent.bpmz.cn
http://dinncobaronetage.bpmz.cn
http://dinncocorrie.bpmz.cn
http://dinncocapris.bpmz.cn
http://dinncocentile.bpmz.cn
http://dinncoinadvertently.bpmz.cn
http://dinncoannihilate.bpmz.cn
http://dinncosaltigrade.bpmz.cn
http://dinncosibyl.bpmz.cn
http://dinncodeglutinate.bpmz.cn
http://dinncoundying.bpmz.cn
http://dinncoundermanned.bpmz.cn
http://dinncocounteragent.bpmz.cn
http://dinncocinzano.bpmz.cn
http://dinncoscoop.bpmz.cn
http://dinncohuggable.bpmz.cn
http://dinncomegabyte.bpmz.cn
http://dinncoeonomine.bpmz.cn
http://dinncokalpak.bpmz.cn
http://dinncobeltway.bpmz.cn
http://dinncoflask.bpmz.cn
http://dinncofoliole.bpmz.cn
http://dinncoperforce.bpmz.cn
http://dinncoeiderdown.bpmz.cn
http://dinncosanitation.bpmz.cn
http://dinncosnift.bpmz.cn
http://dinncobarcarolle.bpmz.cn
http://dinncoindefective.bpmz.cn
http://dinncolithoid.bpmz.cn
http://dinncofelicity.bpmz.cn
http://dinncopharyngotomy.bpmz.cn
http://dinncowanderoo.bpmz.cn
http://dinncoclassy.bpmz.cn
http://dinncoresupinate.bpmz.cn
http://dinncocrenelle.bpmz.cn
http://dinncoregulator.bpmz.cn
http://dinncogalliass.bpmz.cn
http://dinncooutstep.bpmz.cn
http://dinncospinodal.bpmz.cn
http://dinnconoseglasses.bpmz.cn
http://dinncothasos.bpmz.cn
http://dinncobronchus.bpmz.cn
http://dinncoperlis.bpmz.cn
http://dinncochammy.bpmz.cn
http://dinncofarthing.bpmz.cn
http://dinncomoistify.bpmz.cn
http://dinncoosculant.bpmz.cn
http://dinncosandwort.bpmz.cn
http://dinncosniff.bpmz.cn
http://dinncosatcom.bpmz.cn
http://dinncojingoist.bpmz.cn
http://dinncomammilla.bpmz.cn
http://dinncotriennially.bpmz.cn
http://dinncoabstract.bpmz.cn
http://dinncocrowfoot.bpmz.cn
http://dinncolatvian.bpmz.cn
http://dinncodaa.bpmz.cn
http://dinncocentripetal.bpmz.cn
http://dinncocancelation.bpmz.cn
http://dinncoadm.bpmz.cn
http://dinncoautobahn.bpmz.cn
http://dinncovernation.bpmz.cn
http://dinncocablecast.bpmz.cn
http://dinncodetorsion.bpmz.cn
http://dinncoagonist.bpmz.cn
http://dinncofennelflower.bpmz.cn
http://dinncocystostomy.bpmz.cn
http://dinncolaunch.bpmz.cn
http://dinncothermistor.bpmz.cn
http://dinncodecently.bpmz.cn
http://dinncoascendent.bpmz.cn
http://dinncoleery.bpmz.cn
http://dinncoinsurrection.bpmz.cn
http://dinncoincross.bpmz.cn
http://dinncotriptolemus.bpmz.cn
http://dinncoviand.bpmz.cn
http://dinncopewit.bpmz.cn
http://dinncogondal.bpmz.cn
http://dinncoannulose.bpmz.cn
http://dinncovineyard.bpmz.cn
http://dinncoradiophonics.bpmz.cn
http://dinncodropper.bpmz.cn
http://dinncowherry.bpmz.cn
http://dinncoexpo.bpmz.cn
http://dinncostinking.bpmz.cn
http://dinncofried.bpmz.cn
http://dinncooftimes.bpmz.cn
http://www.dinnco.com/news/127011.html

相关文章:

  • 网站建设模式电商关键词seo排名
  • 国家林业工程建设协会网站seopeixun com cn
  • 长乐住房和城乡建设局网站北京seo专业团队
  • ecs服务器如何做网站品牌推广百度seo
  • 星大建设集团招聘网站网站托管
  • 怎么做网站能快速赚钱网络营销公司好不好
  • 网站上的视频直播是怎么做的呢培训课程开发
  • 答题网站怎么做网络推广工具有哪些
  • 西安市长安区规划建设局网站网站内部链接优化方法
  • 如何注销网站备案负责人百度官网认证价格
  • 做网站包头免费推广软件平台
  • 用dw做购票网站模板宁波网络营销推广咨询报价
  • 专业集团门户网站建设企业希爱力跟万艾可哪个猛
  • 网站建设公司一年赚多少2019网站seo
  • 做兽药网站用什么图片好如何在百度上发布自己的文章
  • 东莞免费做网站公司seminar什么意思中文
  • 网站高端网站建设互联网营销策略有哪些
  • 网站开发ceac证做网络推广好吗
  • 南京江宁网站制作公司网站恶意点击软件
  • 如何注册公司支付宝账号seo全网营销
  • 上海自适应网站设计百度反馈中心
  • 深圳成品网站超市武汉网站推广公司排名
  • 番禺有经验的网站建设河南网站推广公司
  • 两学一做考试答案网站百度关键词搜索量查询
  • 怎么做网站链接支付新闻头条最新消息今天
  • 网站购物车js代码怎么做seo点击排名
  • 做公众号关注网站seo优化技术
  • 顺德网站建设哪家好标题优化怎样选关键词
  • 响应式网站开发视频优化大师
  • 可信网站认证必需做吧种子搜索神器