图像旋转角度opencv python

时间:2014-07-16 10:06:18

标签: python image algorithm opencv image-processing

我正在开发板检测算法。 我做了板定位,现在出现了新的问题。 我想检测平板图像旋转角度并在必要时旋转。 但是如何检测呢? 我尝试使用cv2.HoughLinesP函数,但结果与附加图像相同 http://postimg.org/image/vis8errzn/

y = area.shape[0]
x = area.shape[1]
#############################################################################
#If necessary rotate image by angle detected with Hough transformation
gray = cv2.cvtColor(area,cv2.COLOR_BGR2GRAY)    
edges = cv2.Canny(gray,50,150,apertureSize = 3)
minLineLength = 10
maxLineGap = 30
lines = cv2.HoughLinesP(edges,1,math.pi/180,100,minLineLength,maxLineGap)
if(lines != None):
    for x1,y1,x2,y2 in lines[0]:
        cv2.line(gray,(x1,y1),(x2,y2),(0,255,0),2)
        a = ((y2-y1)*1.0)/((x2-x1)*1.0)
        print 'a = ', a
    print 'lines = ', lines

1 个答案:

答案 0 :(得分:-1)

我不是肯定的是什么样的"盘"你指的是但我认为它是一些具有显着特征的平面物体。在任何一种情况下,这是OpenCv的人们的一个很好的教程,解释如何确定我认为你的问题是什么:

http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html

http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.html

  

此程序的基本运行是:

     
      
  • 给出相关印版的图像文件(在您想要考虑的方向上)
  •   
  • 检测两个图像中的要素点
  •   
  • 在这些要点上使用描述符来表示"含义"
  •   
  • 匹配两个图像之间的描述符
  •   
  • 计算两幅图像之间的同位素(给出你正在寻找的旋转矩阵
  •   

有关)

所有这一切都可以通过opencv标准库函数来完成。