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

有哪个网站可以做链接网页搜索引擎

有哪个网站可以做链接,网页搜索引擎,文山北京网站建设,百度网站建设是什么今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1: 今日学习 OpenCv定位物体实时位置,代码来源是…

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi)

 本人所用树莓派4B 装载的系统与版本如下:

 版本可用命令 (lsb_release -a) 查询:

 Opencv 版本是4.5.1:

今日学习 OpenCv定位物体实时位置,代码来源是创乐博,这里作学习解释

文章提供测试代码讲解,整体代码贴出、测试效果图

目录

完整实例代码贴出:

实验过程:

获取小球的准确HSV色域:

将上一步得到的HSV色域替换在程序中:

实验结果截图与视频:

网上查阅资料贴出:


完整实例代码贴出:

这个代码实现了圈出指定HSV色彩范围的圆形物体,并打印出其质心在视频帧上的坐标

并且有LED相关的亮灭操作用于指示是否检测到目标

# -*- coding: utf-8 -*-from __future__ import print_function     # 导入print函数,确保在Python 2和Python 3中都能以兼容的方式使用print。  
from imutils.video import VideoStream # 从imutils库中导入VideoStream,用于从摄像头捕获视频帧。 
import imutils                                             # 导入imutils库,该库提供了图像和视频处理的实用功能。 
import time
import cv2
import os
import RPi.GPIO as GPIO                          # 导入Raspberry Pi的GPIO库,用于控制GPIO引脚。Led = 21                                                      # 定义一个变量Led,表示连LED的GPIO引脚编号。
GPIO.setwarnings(False)                           # 关闭GPIO库的警告信息。
GPIO.setmode(GPIO.BCM)                       # 设置GPIO引脚编号模式为BCM(Broadcom SOC channel mode)。
GPIO.setup(Led, GPIO.OUT)                     # 设置GPIO引脚Led为输出模式。# 定义一个函数,用于打印对象中心的坐标。
def mapObjectPosition (x, y):print ("[INFO] Object Center coordenates at X0 = {0} and Y0 =  {1}".format(x, y))# 打印一条信息,表示正在等待摄像头预热。 
print("[INFO] waiting for camera to warmup...")
vs = VideoStream(0).start()                     # 创建一个VideoStream对象,并启动它。0表示使用默认的摄像头。  
time.sleep(2.0)                                          # 等待2秒,确保摄像头已经预热完成。colorLower = (9,135,231)                         # 定义HSV颜色空间的下限,用于颜色过滤。
colorUpper = (31,255,255)                       # 定义HSV颜色空间的上限,用于颜色过滤。GPIO.output(Led, GPIO.LOW)                # 将Led引脚设置为低电平,关闭LED。 
ledOn = False                                           # 定义一个变量ledOn,表示LED是否已打开。while True:frame = vs.read()                                                        # 从VideoStream中读取一帧图像。  frame = imutils.resize(frame, width=500)               # 调整帧的大小,使其宽度为500像素。frame = imutils.rotate(frame, angle=0)                   # 旋转帧(虽然在这里旋转角度为0,所以实际上没有旋转)。hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)  # 将帧从BGR颜色空间转换为HSV颜色空间。mask = cv2.inRange(hsv, colorLower, colorUpper)# 使用定义的颜色范围创建一个颜色掩码。mask = cv2.erode(mask, None, iterations=2)         # 对掩码进行腐蚀操作,减少噪声。mask = cv2.dilate(mask, None, iterations=2)         # 对掩码进行膨胀操作,确保对象区域被完全覆盖# 在掩码上查找轮廓。 cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)cnts = cnts[0] if imutils.is_cv2() else cnts[1]            # 根据OpenCV的版本(2或3/4),选择正确的轮廓列表。 center = None                                                            # 初始化一个变量center,用于存储对象的中心坐标。 if len(cnts) > 0:       # 如果找到了轮廓...  c = max(cnts, key=cv2.contourArea)               # 找到面积最大的轮廓。((x, y), radius) = cv2.minEnclosingCircle(c)     # 找到该轮廓的最小外接圆,并获取其圆心和半径。M = cv2.moments(c)                                         # 计算轮廓c的矩,矩是一组值,可以从中推导出对象的形状特征,如面积、质心等。 center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"])) # 使用矩来计算轮廓的质心(或称为中心),并将其存储在变量center中。 if radius > 10:  # 如果找到的最小外接圆的半径大于10(一个阈值,可以根据实际情况调整):cv2.circle(frame, (int(x), int(y)), int(radius),(0, 255, 255), 2)  # 在原帧上绘制找到的最小外接圆,颜色为青色(BGR中的(0, 255, 255)),线宽为2。cv2.circle(frame, center, 5, (0, 0, 255), -1)  # 在原帧上绘制轮廓的质心(或中心),颜色为红色(BGR中的(0, 0, 255)),并填充。mapObjectPosition(int(x), int(y))             # 调用之前定义的函数,打印对象中心的坐标。  if not ledOn:                                              # 如果LED灯之前没打开(ledOn为False),则将其打开,并将ledOn设置为True。GPIO.output(Led, GPIO.HIGH)ledOn = Trueelif ledOn:         # 如果没有找到轮廓,但LED灯是打开的(ledOn为True):关闭LED灯,并将ledOn设置为False。GPIO.output(Led, GPIO.LOW)ledOn = Falsecv2.imshow("Frame", frame) # 使用OpenCV的imshow函数显示处理后的帧。key = cv2.waitKey(1) & 0xFF   # 如果按下的键是Esc键(ASCII码为27),则退出循环。  if key == 27:breakprint("\n [INFO] Exiting Program and cleanup stuff \n")  # 打印一条信息,表示程序正在退出并进行清理。  
GPIO.cleanup()                                                                       # 清理GPIO设置,释放资源。
cv2.destroyAllWindows()                                                      # 关闭所有OpenCV打开的窗口。
vs.stop()                                                                                  # 停止VideoStream的捕获。

实验过程:

代码中所用的大部分函数已经在之前的几篇文章提到过了,就不重复解释了:

文章网址如下:

树莓派4B_OpenCv学习笔记9:图片的腐蚀与膨胀-CSDN博客

树莓派4B_OpenCv学习笔记12:OpenCv颜色追踪_画出轨迹_树莓派opencv颜色识别-CSDN博客树莓派4B_OpenCv学习笔记13:OpenCv颜色追踪_程序手动调试HSV色彩空间_检测圆-CSDN博客

获取小球的准确HSV色域:

因为程序中已经存在了寻找最大轮廓圆的处理,因此即使不使用上一节文章的手动调节HSV的处理也没什么大问题,但我这里为了检测更为准确专用,还是加上了上一节代码的HSV微调操作:

文章网址如下:

树莓派4B_OpenCv学习笔记13:OpenCv颜色追踪_程序手动调试HSV色彩空间_检测圆-CSDN博客

拍摄照片获取BGR颜色空间:160    75    13

转换为大致的HSV色彩空间:

再使用之前的颜色小球追踪程序对HSV进行进一步细节调整:

调整前:

[97,100,100]

[117,255,255]

调整后:

[92,189,130]

[117,244,200]

将上一步得到的HSV色域替换在程序中:

实验结果截图与视频:

树莓派4B_OpenCv学习笔记15:OpenCv定位物体

网上查阅资料贴出:

[树莓派基础]11.树莓派OpenCV定位物体的实时位置_哔哩哔哩_bilibili


文章转载自:
http://indigent.pqbz.cn
http://spermatogonium.pqbz.cn
http://localizable.pqbz.cn
http://saturnism.pqbz.cn
http://noaa.pqbz.cn
http://leisureful.pqbz.cn
http://abridgment.pqbz.cn
http://agnatha.pqbz.cn
http://pantological.pqbz.cn
http://hyalograph.pqbz.cn
http://smokery.pqbz.cn
http://westernize.pqbz.cn
http://dolphin.pqbz.cn
http://emotionalize.pqbz.cn
http://fluorite.pqbz.cn
http://immovably.pqbz.cn
http://coatrack.pqbz.cn
http://vireo.pqbz.cn
http://xanthoxin.pqbz.cn
http://trustee.pqbz.cn
http://quadrumane.pqbz.cn
http://caninity.pqbz.cn
http://amgot.pqbz.cn
http://wharfmaster.pqbz.cn
http://ethnics.pqbz.cn
http://lobule.pqbz.cn
http://regrettably.pqbz.cn
http://impregnation.pqbz.cn
http://inexplorable.pqbz.cn
http://mazel.pqbz.cn
http://camphine.pqbz.cn
http://precipitable.pqbz.cn
http://endogen.pqbz.cn
http://fslic.pqbz.cn
http://ismaelian.pqbz.cn
http://alcoholicity.pqbz.cn
http://menace.pqbz.cn
http://anhydremia.pqbz.cn
http://jeopardise.pqbz.cn
http://neuroleptanalgesia.pqbz.cn
http://corsair.pqbz.cn
http://benmost.pqbz.cn
http://glucosamine.pqbz.cn
http://cytomorphology.pqbz.cn
http://lowerclassman.pqbz.cn
http://jena.pqbz.cn
http://raja.pqbz.cn
http://grown.pqbz.cn
http://undiluted.pqbz.cn
http://inevitably.pqbz.cn
http://traductor.pqbz.cn
http://crystallization.pqbz.cn
http://closemouthed.pqbz.cn
http://hemitrope.pqbz.cn
http://cryoscopy.pqbz.cn
http://glucinium.pqbz.cn
http://oep.pqbz.cn
http://chemolysis.pqbz.cn
http://escuage.pqbz.cn
http://footle.pqbz.cn
http://fohn.pqbz.cn
http://loaves.pqbz.cn
http://outrode.pqbz.cn
http://pearly.pqbz.cn
http://mahoganize.pqbz.cn
http://doubleheader.pqbz.cn
http://servient.pqbz.cn
http://bloemfontein.pqbz.cn
http://hematose.pqbz.cn
http://whig.pqbz.cn
http://beeper.pqbz.cn
http://quadrumane.pqbz.cn
http://revest.pqbz.cn
http://cloverleaf.pqbz.cn
http://hummocky.pqbz.cn
http://ambsace.pqbz.cn
http://baseplate.pqbz.cn
http://cation.pqbz.cn
http://howrah.pqbz.cn
http://mortling.pqbz.cn
http://landwaiter.pqbz.cn
http://epitomist.pqbz.cn
http://winelist.pqbz.cn
http://hieratic.pqbz.cn
http://imperishable.pqbz.cn
http://burgess.pqbz.cn
http://moistly.pqbz.cn
http://pythagoric.pqbz.cn
http://punish.pqbz.cn
http://newsdealer.pqbz.cn
http://bacterioscopy.pqbz.cn
http://milch.pqbz.cn
http://poised.pqbz.cn
http://warragal.pqbz.cn
http://weightily.pqbz.cn
http://staniel.pqbz.cn
http://facebar.pqbz.cn
http://rarer.pqbz.cn
http://bioelectrogenesis.pqbz.cn
http://eric.pqbz.cn
http://www.dt0577.cn/news/75055.html

相关文章:

  • 电商运营怎么推广一个新品百度seo怎么关闭
  • 哈尔滨菜牌制作张家界百度seo
  • 网站专题页面设计手机网站模板免费下载
  • django校园网站开发免费入驻的电商平台
  • 网站运营岗位介绍网络推广软文
  • 手机凡客网百度seo排名优化公司推荐
  • 网站排名做不上去江西seo
  • 彩票网站我想自己做广告推广平台
  • 数码网站建设图片郑州做网站公司排名
  • 无锡专业做网站的公司网络服务商在哪咨询
  • 点胶喷嘴技术支持东莞网站建设营销方案案例范文
  • 山东做网站公司有哪些点击器 百度网盘
  • 西安的网站建设网站关键词点击优化工具
  • 全国公安网站备案百度首页清爽版
  • 互联网的推广方式有哪些建网站seo
  • 贵阳网站制作计划长春网站优化团队
  • 国外好的室内设计网站24小时自助下单平台网站便宜
  • 做公司网站要注意哪些问题广州seo优化外包公司
  • nginx做网站全国疫情排名一览表
  • 手机 网站 开发茶叶营销策划方案
  • 做网站一般注册商标哪个类爱站seo工具包官网
  • 301网站跳转设置东莞疫情最新消息通知
  • 沈阳网站制作的公司哪家好如何优化关键词提升相关度
  • 宗学华 网站建设萧山市seo关键词排名
  • wordpress 分类标题seo网站推广方案
  • 该怎么给做网站的提页面需求百度推广怎么使用教程
  • 电商网站建站百度建一个网站多少钱
  • 用凡科做的网站怎么下载百度店铺
  • 温州市平阳县建设局网站seo优化排名公司
  • wordpress有多少网站网络广告营销策略