python-opencv定位边缘清晰的目标

该博客详细介绍了目标检测的步骤,包括手动区域选择、高斯滤波、Canny边缘检测、形态学处理、轮廓查找及矩形框选等。同时,展示了目标定位的实验效果,并提供了基于python3.6的opencv-python4.5.2.52的源代码供下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标定位步骤

  1. 手动框选出感兴趣的大范围区域。
  2. 高斯滤波降噪处理。
  3. 使用Canny算子进行边缘检测。
  4. 形态学处理,减少噪点,先腐蚀后膨胀。
  5. 寻找边缘检测后的轮廓
  6. 根据需要检测物件的实际大小来限制需要寻找轮廓的大小。
  7. 使用矩形定位轮廓框,并将需要检测的物件框出来。
  8. 以(x,y,w,h)的格式保存物件的位置,xy为右上角,wh为宽高。

定位效果

图片1:
图片来源于网络,侵删
图片2:
图片来源于网络,侵删
图片3:
图片来源于网络,侵删

实验代码

点击这里下载源代码。运行环境是基于python3.6的opencv-python 4.5.2.52

### 使用YOLOv11训练自定义VOC格式数据集 #### 准备工作环境 为了顺利使用YOLOv11训练自定义的VOC格式数据集,需先安装必要的依赖项并下载YOLOv11源码。通常情况下,建议创建一个新的虚拟环境以避免与其他项目发生冲突。 ```bash conda create -n yolov11 python=3.8 conda activate yolov11 pip install -r requirements.txt ``` #### 数据集准备 对于VOC格式的数据集,其目录结构应遵循特定模式以便于框架识别和处理: - `images` 文件夹内放置所有的图像文件; - `annotations` 存储对应的XML标注文件; - `ImageSets/Main` 下则保存用于指定哪些样本属于训练集、验证集或测试集的文字列表文件[^2]。 #### 修改配置文件 针对YOLOv11而言,在开始训练前还需要调整几个重要的参数设定。这主要包括但不限于以下几个方面: - **模型架构**: 如果有特殊需求可编辑`.yaml`文件中的网络层设计部分。 - **超参设置**: 如学习率(`lr`)、批次大小(`batch-size`)等均可以在相应的Python脚本中找到并更改[^3]。 ```python # train.py 中的部分代码片段展示 if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--weights', type=str, default='yolov11_training.pt') parser.add_argument('--cfg', type=str, required=True) parser.add_argument('--data', type=str, required=True) parser.add_argument('--epochs', type=int, default=300) parser.add_argument('--batch-size', type=int, default=16) opt = parser.parse_args() ``` #### 开始训练过程 当一切准备工作完成后就可以启动实际的训练流程了。通过命令行调用`train.py`即可执行此操作,并传入之前提到的各项必要参数作为输入选项。 ```bash python train.py --img 640 --batch 16 --epochs 50 --data mydata.yaml --cfg models/yolov11.yaml --weights '' --cache ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值