我正试图找出如何在Java中使用OpenCV来校正收据的给定图像的角度(用数码相机拍摄,所以可能不够直)。计划是(也许)改进ABBYY FineReaders的自动文本识别结果。不幸的是,我在文档方面没有取得进展——它是为C++编写的,我真的有问题……我不知道该使用哪些函数,等等。。。有OpenCV经验的人能给我一些关于如何继续的提示吗?非常感谢您的帮助。
在opencv中使用warpfaffine函数非常容易。您只需要设置图像应该旋转的位置,然后创建旋转矩阵,并使用上面的函数将其应用于图像。这是一个如何制作的示例代码
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() );