RaspberryPi笔记-OpenCV边缘检测

发布时间 2023-08-16 04:53:49作者: qsBye

摘要

使用树莓派进行基于OpenCV的图像边缘检测.

平台信息

  • 开发机:macOS
  • 执行机:RaspberryPi zero 2w
  • 开发语言:Python

预装OpenCV的树莓派镜像

[https://github.com/Qengineering/RPi_64-bit_Zero-2-image]
[https://drive.google.com/file/d/1VPpalGylbriNlVggF35PeVApsVFXwlHv/view]
[https://www.ab62.cn/article/26106.html]
[https://www.cnblogs.com/zhangwenzhao/archive/2013/08/26/3282435.html]
要点:

  • opencv

Flash the image on the SD-card with the Imager or balenaEtcher.

  • 账户: pi
  • 密码: 3.14

连接WIFI:

#启动配置界面
sudo raspi-config

关闭XWindow(桌面):

#扫描局域网设备
sudo nmap -sP -PI -PT 192.168.31.0/24
#打开boot设置界面
sudo raspi-config

直接在当前选中的 “1 System Options” 按回车,进入子页面:
选中 " S5 Boot / Auto Login ",进入下一级子页面:
这里有四个选项,上面两个就是没有图形界面,下面两个就是有图形的,我们选中 " B2 Console Autologin " 不要图形界面并且默认登录pi用户(免去每次进入都手动输入用户名密码),按回车。
退出(按ESC)设置界面,重启树莓派。

sudo reboot

图片边缘检测

[https://blog.csdn.net/woshicver/article/details/124938265]

  1. 从文件中读取图像
  2. 使用 SIFT & ORB 检测关键点
  3. 用不同颜色绘制关键点
  4. 画一个矩形
  5. 将图像转换为 ndarray(快速)
  6. 将 ndarray 转换为 image::RgbImage (用于测试我们上面的步骤按预期工作)
  7. 保存图片

实现

代码

import cv2
import numpy as np
from PIL import Image

# 图片位置
img_path = "./software/OpenCV/"
img_name = "pencil2.png"

# 读取图像
img = cv2.imread(img_path + img_name, cv2.IMREAD_COLOR)

# 创建ORB关键点检测器
orb = cv2.ORB_create(500, 1.2, 8, 31, 0, 2, cv2.ORB_HARRIS_SCORE, 31, 20)
orb_keypoints, orb_desc = orb.detectAndCompute(img, None)

# 绘制ORB关键点
dst_img = cv2.drawKeypoints(img, orb_keypoints, None, (0, 255, 0), cv2.DRAW_MATCHES_FLAGS_DEFAULT)

# 绘制矩形
cv2.rectangle(dst_img, (0, 0), (50, 50), (255, 0, 0), -1, cv2.LINE_8, 0)

# 使用SIFT
sift = cv2.SIFT_create(0, 3, 0.04, 10., 1.6)
sift_keypoints, sift_desc = sift.detectAndCompute(img, None)

# 绘制SIFT关键点
dst_img = cv2.drawKeypoints(dst_img, sift_keypoints, None, (0, 0, 255), cv2.DRAW_MATCHES_FLAGS_DEFAULT)

# 保存图像
cv2.imwrite("./tmp.png", dst_img)

# 转换为ndarray数组
a = np.array(dst_img)

# 转换为PIL图像
test_image = Image.fromarray(a)

# 保存图像
test_image.save(img_path + img_name + ".out.png")

运行

scp -r ./software pi@192.168.31.18:/home/pi
ssh pi@192.168.31.18
#3.14
python3 software/OpenCV/test4.py

效果

原图 处理后图像