在收据上找到边缘并使用OpenCV-Java更正角度

时间:2014-04-09 14:44:28

标签: java image opencv abbyy finereader

我试图弄清楚如何使用Java中的OpenCV来纠正收据的给定图像的角度(使用数码相机拍摄,因此它可能不够直接)。该计划旨在(可能)改进ABBYY FineReaders自动文本识别结果。 不幸的是,我没有在文档方面取得进展 - 它适用于C ++,我真的遇到了麻烦......我不知道要使用哪些功能等等...... 有OpenCV经验的人能给我一些关于如何进行的提示吗? 非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

在opencv中使用warpaffine函数非常简单。您只需设置图像应旋转的位置,然后创建旋转矩阵并使用上述功能将其应用于图像。这里是一个如何制作一个示例代码:

   cv::Point Rotation_anchor = cv::Point( Desired_X_Position, Desired_Y_Position );
   double angle = Angle_Val;
   double scale = 1;    
   /// Get the rotation matrix with the specifications above
   cv::Mat rotation_matrix = cv::getRotationMatrix2D( Rotation_anchor, angle, scale );   
   /// Rotate the warped image
   cv::warpAffine( Input_Image, Output_Image, rotation_matrix, Input_Image.size() );