import cv2 import numpy as np import matplotlib.pyplot as plt img=cv2.imread(r'C:\Users\lenovo\Desktop\tupian\bridge.jpg') #打开图像,默认为BGR格式 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #转换为灰度图像 gray = np.float32(gray) #转换为浮点类型 corners = cv2.goodFeaturesToTrack(gray,8,0.1,100) #检测角,最多6个 corners = np.int32(corners) #转换为整型 for i in corners: #角点展示 x,y = i.ravel() #将i转换为一维数组 cv2.circle(img,(x,y),4,(0,0,255),-1) #用红色圆点标注找到的角 cv2.imshow(img)
时间: 2023-11-16 21:05:31 浏览: 68
import numpy as np import matplotlib.pyplot as plt import math
这段代码存在一些问题,我帮你修改一下:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread(r'C:\Users\lenovo\Desktop\tupian\bridge.jpg') #打开图像,默认为BGR格式
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #转换为灰度图像
gray = np.float32(gray) #转换为浮点类型
corners = cv2.goodFeaturesToTrack(gray,8,0.1,100) #检测角,最多8个
corners = np.int0(corners) #转换为整型
for i in corners:
x,y = i.ravel() #将i转换为一维数组
cv2.circle(img,(x,y),4,(0,0,255),-1) #用红色圆点标注找到的角
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
主要修改了以下几点:
- 添加了缺失的空格。
- 修改了 `cv2.imshow()` 的参数。
- 将 `corners` 转换为整型。
- 修改了 `corners` 展示的方式,使其更符合 OpenCV 官方文档。
阅读全文