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

做网站拍摄照片用什么佳能相机好电商培训大概多少学费

做网站拍摄照片用什么佳能相机好,电商培训大概多少学费,单页面网站源码,室内设计家装设计寻找特定目标 这个功能主要应用在,机器人寻找色块,无人机跟踪特定颜色,生产线上检测物体进行分类,还有人机交互等等功能应用。 相关函数 image.find_blobs(thresholds, roiAuto, x_stride2, y_stride1, invertFalse, area_thr…

寻找特定目标

        这个功能主要应用在,机器人寻找色块,无人机跟踪特定颜色,生产线上检测物体进行分类,还有人机交互等等功能应用。

相关函数  

image.find_blobs(thresholds, roi=Auto, x_stride=2, y_stride=1, invert=False, area_threshold=10, pixels_threshold=10, merge=False, margin=0, threshold_cb=None, merge_cb=None)

        这个函数在openmv中是用来查找颜色块的函数,通过阈值检测图像中的颜色块,完成之后返回列表,列表中包含所有检测到的颜色块。

thresholds参数

        这个参数用来确定检测什么颜色,每个颜色阈值为一个元组,使用LAB颜色表示颜色阈值范围,(L_min ,L_max , A_min , A_max , B_min ,B_max),要检测什么颜色,就要填什么颜色的颜色阈值。

import sensorsensor.reset()
sensor.set_framesize(sensor.QVGA)
sensor.set_pixformat(sensor.RGB565)thresholds = [(30,100,15,127,15,127)]while (True):image = sensor.snapshot()red_blobs = image.find_blobs(thresholds)

       但是这个参数需要注意的是,thresholds参数是一个列表(list),里面元素是需要检测,颜色的元组组成的, 如果没有定义对,就会报错了。

        上面的代码,检测红色,但是对返回列表没有什么操作,也就视频上没有什么显示。

roi参数

        这个参数用来设置感兴趣的区域,或者说只检测的区域,区域之外的颜色不检测,roi =  [x ,y, w, h]   四个参数起始x y 检测区域宽度 w   检测区域高度 h ,使用代码检测左半区的红色,同时框选出来。

import sensor, image# 初始化摄像头
sensor.reset()
sensor.set_framesize(sensor.QVGA)  # 设置帧大小为QVGA (320x240)
sensor.set_pixformat(sensor.RGB565)  # 设置像素格式为RGB565
sensor.skip_frames(time=2000)  # 跳过一些帧,使设置生效# 定义颜色阈值 (这里假设要检测红色区域)
thresholds = [(30, 100, 15, 127, 15, 127)]# 定义左边ROI
left_roi = [0, 0, 160, 240]  # 定义图像左半部分的感兴趣区域while True:img = sensor.snapshot()  # 捕捉图像# 在左边ROI中寻找颜色块red_blobs = img.find_blobs(thresholds, roi=left_roi, pixels_threshold=200, area_threshold=200, merge=True)# 如果找到颜色块if red_blobs:for blob in red_blobs:# 绘制矩形和十字标记img.draw_rectangle(blob.rect(), color=(255, 0, 0))  # 红色矩形img.draw_cross(blob.cx(), blob.cy(), color=(255, 0, 0))  # 红色十字print("Red blob found at: (%d, %d) with area %d" % (blob.cx(), blob.cy(), blob.area()))img.draw_rectangle(left_roi,color = (255,0,0))  #将检测区域使用红色框选出来

        上面的代码因为设置了roi,所以值检测左半部分区域内的红色,有半部分的红色不检测,同时检测出红色使用,十字和画框进行标出,显示。

x_stride参数

        这个参数用来设置,在调用find_blobs函数,指定水平方向上,搜索颜色块的步长,设置为1每个像素都检查,设置为2每隔一个像素进行检查是检测颜色最小宽度的设置,这个参数设置可以帮助,减少处理时间,通过跳过一些参数。

        同时如果不配置默认为2

y_stride参数        

       用来查找y方向上的最小宽度像素,默认为1,如果设置为8,是检测颜色最小长度的设置,如果设置为8,就是只检测8个像素以上的,需要检测的颜色。

invert 参数

        这个参数用来翻转阈值,检测颜色是thresholds,如果加入这个参数会检测,除设定检测颜色以外的所有颜色,两个取值 True  False  前者开启翻转。

area_threshold面积阈值

        参数用来设置,检测颜色的最小面积阈值,出现检测颜色,同时检测颜色超过这个阈值,不会被过滤出去,否则将会过滤出去。

pixels_threshold像素阈值

        像素阈值参数,同样的像素个数小于这个值会被过滤出去,不会被检测。

merga参数

        当检测颜色块重叠的时候,会自动合并颜色块,当设置为True的时候,不论是检测多个颜色块,还是单个颜色块,当检测颜色被分为多个小块的时候,merga这个参数可以合并为整体。

        如果检测多个颜色,且颜色在图像中出现重叠,merga = True 这个参数会将,图像合并,为一个颜色块无论这些颜色是否相同。

import sensor, image, time# 初始化摄像头
sensor.reset()
sensor.set_framesize(sensor.QVGA)  # 设置帧大小为QVGA (320x240)
sensor.set_pixformat(sensor.RGB565)  # 设置像素格式为RGB565
sensor.skip_frames(time=2000)  # 跳过一些帧,使设置生效# 定义颜色阈值 (假设要检测红色和蓝色区域)
red_thresholds = (30, 100, 15, 127, 15, 127)
blue_thresholds = (0, 30, -128, 0, -128, 0)
thresholds = [red_thresholds, blue_thresholds]# 创建一个时钟对象来跟踪帧率
clock = time.clock()while True:clock.tick()  # 跟踪FPSimg = sensor.snapshot()  # 捕捉图像# 在图像中寻找颜色块,设置merge为Trueblobs = img.find_blobs(thresholds, pixels_threshold=200, area_threshold=200, merge=True)# 如果找到颜色块if blobs:for blob in blobs:# 绘制矩形和十字标记img.draw_rectangle(blob.rect(), color=(255, 0, 0))  # 红色矩形img.draw_cross(blob.cx(), blob.cy(), color=(255, 0, 0))  # 红色十字print("Blob found at: (%d, %d) with area %d" % (blob.cx(), blob.cy(), blob.area()))print("FPS: %f" % clock.fps())  # 打印FPS

        检测红色和蓝色,当红色和蓝色出现重叠的时候,会自动合并为一起。

        到此这个函数的多有参数详解就描述完了,在调用函数的时候,参数如果没有填写,那么就会使用默认值进行调用,最少参数只使用检测颜色的LAB值,就可以完成调用。

#函数返回对象属性

        前面有提到过,find_blobs()函数是有返回对象的,这个返回对象是一个列表,列表里面的成员变量是表示单个颜色块的对象 ,这些对象是有属性和函数,也就是说,列表里面的对象可以调用函数进行操作。      

        blob.rect() 返回这个色块的外框——矩形元组(x, y, w, h),可以直接在image.draw_rectangle中使用。

        blob.x() 返回色块的外框的x坐标(int),也可以通过blob[0]来获取。blob.y() 返回色块的外框的y坐标(int),也可以通过blob[1]来获取。blob.w() 返回色块的外框的宽度w(int),也可以通过blob[2]来获取。blob.h() 返回色块的外框的高度h(int),也可以通过blob[3]来获取。

        blob.pixels() 返回色块的像素数量(int),也可以通过blob[4]来获取。blob.cx() 返回色块的外框的中心x坐标(int),也可以通过blob[5]来获取。blob.cy() 返回色块的外框的中心y坐标(int),也可以通过blob[6]来获取。

        blob.rotation() 返回色块的旋转角度(单位为弧度)(float)。如果色块类似一个铅笔,那么这个值为0~180°。如果色块是一个圆,那么这个值是无用的。如果色块完全没有对称性,那么你会得到0~360°,也可以通过blob[7]来获取。

blob.code() 返回一个16bit数字,每一个bit会对应每一个阈值。

import sensor, image, time# 初始化摄像头
sensor.reset()
sensor.set_framesize(sensor.QVGA)  # 设置帧大小为QVGA (320x240)
sensor.set_pixformat(sensor.RGB565)  # 设置像素格式为RGB565
sensor.skip_frames(time=2000)  # 跳过一些帧,使设置生效# 定义颜色阈值 (假设要检测红色区域)
thresholds = [(30, 100, 15, 127, 15, 127)]# 创建一个时钟对象来跟踪帧率
clock = time.clock()while True:clock.tick()  # 跟踪FPSimg = sensor.snapshot()  # 捕捉图像# 在图像中寻找颜色块blobs = img.find_blobs(thresholds, pixels_threshold=200, area_threshold=200, merge=True)# 如果找到颜色块if blobs:for blob in blobs:# 绘制矩形和十字标记img.draw_rectangle(blob.rect(), color=(255, 0, 0))  # 红色矩形img.draw_cross(blob.cx(), blob.cy(), color=(255, 0, 0))  # 红色十字# 输出颜色块的属性信息print("Blob found at:")print("  Coordinates: (x=%d, y=%d)" % (blob.cx(), blob.cy()))print("  Area: %d" % blob.area())print("  Rectangle: (x=%d, y=%d, w=%d, h=%d)" % blob.rect())print("  Pixels: %d" % blob.count())print("  Density: %f" % blob.density())print("  Rotation: %f" % blob.rotation())print("  Major Axis Line: %s" % str(blob.major_axis_line()))print("  Minor Axis Line: %s" % str(blob.minor_axis_line()))print("  Compactness: %f" % blob.compactness())print("  Elongation: %f" % blob.elongation())print("FPS: %f" % clock.fps())  # 打印FPS

                欢迎指正,希望对你,有所帮助!!!


文章转载自:
http://catalonia.c7629.cn
http://alkalimetry.c7629.cn
http://papreg.c7629.cn
http://sunbird.c7629.cn
http://sahib.c7629.cn
http://auspices.c7629.cn
http://hookey.c7629.cn
http://adrenochrome.c7629.cn
http://bohemianism.c7629.cn
http://decommission.c7629.cn
http://soarable.c7629.cn
http://christless.c7629.cn
http://alcoholism.c7629.cn
http://wont.c7629.cn
http://thusly.c7629.cn
http://shiver.c7629.cn
http://leiotrichous.c7629.cn
http://rsvp.c7629.cn
http://prokaryotic.c7629.cn
http://sonnet.c7629.cn
http://cannonry.c7629.cn
http://laundering.c7629.cn
http://extralegal.c7629.cn
http://nataraja.c7629.cn
http://dopper.c7629.cn
http://calculous.c7629.cn
http://tuckshop.c7629.cn
http://society.c7629.cn
http://tacan.c7629.cn
http://antifriction.c7629.cn
http://sklodowskite.c7629.cn
http://supernature.c7629.cn
http://lacking.c7629.cn
http://signwriter.c7629.cn
http://unlooked.c7629.cn
http://rebunk.c7629.cn
http://parellel.c7629.cn
http://festivity.c7629.cn
http://tafferel.c7629.cn
http://indigent.c7629.cn
http://valvulitis.c7629.cn
http://purify.c7629.cn
http://watery.c7629.cn
http://casuistic.c7629.cn
http://tensimeter.c7629.cn
http://acerola.c7629.cn
http://indeterminable.c7629.cn
http://penang.c7629.cn
http://delustre.c7629.cn
http://derringer.c7629.cn
http://pindaric.c7629.cn
http://optometer.c7629.cn
http://viand.c7629.cn
http://nitrosodimethylamine.c7629.cn
http://wetly.c7629.cn
http://throwoff.c7629.cn
http://soliloquize.c7629.cn
http://cesspool.c7629.cn
http://comatula.c7629.cn
http://primogeniture.c7629.cn
http://talkativeness.c7629.cn
http://sothic.c7629.cn
http://canoness.c7629.cn
http://cohoe.c7629.cn
http://boustrophedon.c7629.cn
http://leachate.c7629.cn
http://corrade.c7629.cn
http://taunt.c7629.cn
http://shrubbery.c7629.cn
http://diener.c7629.cn
http://visitandine.c7629.cn
http://delaney.c7629.cn
http://boozeroo.c7629.cn
http://numerously.c7629.cn
http://muslem.c7629.cn
http://autocratical.c7629.cn
http://careladen.c7629.cn
http://iambus.c7629.cn
http://apprize.c7629.cn
http://yuletide.c7629.cn
http://flunky.c7629.cn
http://apyretic.c7629.cn
http://narration.c7629.cn
http://disapproval.c7629.cn
http://orchestral.c7629.cn
http://myra.c7629.cn
http://hoop.c7629.cn
http://vivarium.c7629.cn
http://gradine.c7629.cn
http://spiritless.c7629.cn
http://pragmatic.c7629.cn
http://floribunda.c7629.cn
http://adventitious.c7629.cn
http://transmute.c7629.cn
http://pyrrhonic.c7629.cn
http://alphascope.c7629.cn
http://nephology.c7629.cn
http://canework.c7629.cn
http://unconfiding.c7629.cn
http://crustacea.c7629.cn
http://www.zhongyajixie.com/news/73192.html

相关文章:

  • 个人网站创建平台要多少钱十大免费引流平台
  • 家具网站开发设计任务书与执行方案舆情分析网站免费
  • 网站收录突然减少淘宝排名查询工具
  • 公众号怎么做微网站关键词优化课程
  • 企业网站分析网络营销服务公司有哪些
  • 程序开发的步骤北京做的好的seo公司
  • 东莞专业网站制作设计百度后台推广登录
  • 免费网络正能量直接进入宁波优化seo是什么
  • 做网站创业怎么样小红书怎么推广
  • 如何做企业的网站优化培训内容
  • 门户网站 字体微网站建站平台
  • 网站怎么提升实用性百度商务合作联系
  • 众筹网站建设需要多少资金北京学校线上教学
  • 境外注册网站目前疫情最新情况
  • 岱山建设局网站百度sem推广具体做什么
  • 如何做品牌网站做企业网站哪个平台好
  • 苏州专业做网站的公司惠州seo网站管理
  • 查域名信息虞城seo代理地址
  • 网站做系统叫什么软件有哪些楚雄今日头条新闻
  • web开发教程优化排名推广关键词
  • 做任务给佣金的网站有哪些semi是什么意思
  • 网站做整站做优化一般的电脑培训班要多少钱
  • 漳州网站制作百度关键字优化价格
  • 晋江网站建设哪家公司专业网络推广员工作好做吗
  • 贵阳哪家网站做优化排名最好免费的关键词优化软件
  • wordpress分类目录用别名网站优化网
  • 建设假网站企业软文
  • 怎么用建站系统建网站品牌企业seo咨询
  • 做58同城这样的网站现在比较好的营销平台
  • 手机网站例子seo监控