opencv cornerSubPix
时间: 2024-02-23 20:54:51 浏览: 22
cornerSubPix是OpenCV中的一个函数,用于对图像中的角点进行亚像素级别的精确化处理。它可以提高角点检测的准确性,特别是在角点位置不是很清晰或者角点之间距离较近的情况下。
该函数的原型如下:
```cpp
void cv::cornerSubPix(
InputArray image, // 输入图像,通常为灰度图像
InputOutputArray corners, // 角点坐标数组,输入时为初始角点坐标,输出时为精确化后的角点坐标
Size winSize, // 搜索窗口大小,通常为一个较小的窗口
Size zeroZone, // 停止搜索的区域大小,通常为(-1,-1),表示不使用该参数
TermCriteria criteria // 停止搜索的准则,通常为迭代次数和精度的组合
)
```
cornerSubPix函数通过迭代优化的方式,对初始角点坐标进行微调,使得角点坐标更加准确。它使用亚像素级别的插值算法,在一个较小的搜索窗口内寻找最佳的角点位置。停止搜索的条件可以通过设置停止准则来控制,例如迭代次数或者精度。
使用cornerSubPix函数可以提高角点检测的准确性,特别是在进行图像特征匹配、目标跟踪等任务时非常有用。
相关问题
opencv cornerSubPix的用法
cornerSubPix函数是OpenCV中用于亚像素级别的角点精确化的函数,可以用于提高角点检测的精度。
函数原型:
```
cv2.cornerSubPix(image, corners, winSize, zeroZone, criteria)
```
参数解释:
- image:输入的灰度图像
- corners:初步检测到的角点,需要精确化
- winSize:搜索窗口大小
- zeroZone:死区大小
- criteria:迭代终止条件
返回值:返回角点的亚像素坐标
示例代码:
```python
import cv2
import numpy as np
img = cv2.imread("chessboard.png")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# 执行角点检测
corners = cv2.goodFeaturesToTrack(gray, 100, 0.01, 10)
# 亚像素级别的角点精确化
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)
corners = cv2.cornerSubPix(gray, corners, (5,5), (-1,-1), criteria)
# 绘制角点
for corner in corners:
x,y = corner.ravel()
cv2.circle(img, (x,y), 3, (0,0,255), -1)
cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,我们首先执行了角点检测,然后使用cornerSubPix函数对检测到的角点进行精确化,最后绘制出角点的位置。
cornerSubPix
cornerSubPix()是OpenCV库中的一个函数,用于在图像中检测棋盘格或角点,并提供亚像素级别的坐标精度。它是一个经过验证的函数,可以在使用findChessboardCorners函数时自动应用,通过一个2x2的小窗口进行亚像素级别的坐标修正。根据引用和引用的说明,cornerSubPix函数的精度似乎比find4QuadCornerSubpix函数更高效。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)