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