我有以下从相机拍摄的棋盘图像:
这是我的最小工作示例代码:
import cv2
print(cv2.__version__)
left_gray = cv2.imread('left_raw.jpg', cv2.CV_LOAD_IMAGE_GRAYSCALE)
print(left_gray.shape)
ret, left_corners = cv2.findChessboardCorners(left_gray, (6,5))
print(left_corners)
Run Code Online (Sandbox Code Playgroud)
这是输出,指示未找到角点:
2.4.13.1
(1080, 1920)
None
Run Code Online (Sandbox Code Playgroud)
我阅读了其他一些StackOverflow问题:
在这一点上,我对如何找到角点有些迷茫。有没有人想分享一些建议?图像和代码就在这里,以备您测试。我还应该指出,在拍摄图像时我尝试增加原始相机的亮度,但是没有运气。
使用,我可以获得满意的结果cv2.goodFeaturesToTrack()
。
码:
corners = cv2.goodFeaturesToTrack(gray_img,25,0.01,10)
corners = np.int0(corners)
for i in corners:
x,y = i.ravel()
cv2.circle(img,(x,y),3,(0,0,255),-1)
cv2.imshow('Corners',img)
Run Code Online (Sandbox Code Playgroud)
我知道它不准确,但是通过一些预处理,您应该可以获得更好的结果。
:D
归档时间: |
|
查看次数: |
4207 次 |
最近记录: |