我想从图像中提取文本,我需要以90度为单位旋转它。当我使用
旋转图像时pixRotate(image, deg2rad * angle, L_ROTATE_AREA_MAP, L_BRING_IN_BLACK, 0, 0)
顶部和底部的一些像素丢失。我尝试过的变化是
pixRotate(image, deg2rad * angle, L_ROTATE_AREA_MAP, L_BRING_IN_BLACK, w, h)
以及L_ROTATE_SHEAR,L_ROTATE_SAMPLING。但是,边界附近的像素在每种情况下都会丢失。有没有办法在不丢失像素的情况下进行此旋转?
答案 0 :(得分:1)
您具有90°,180°和270°旋转的特定功能,这些功能在rotateorth.c中定义,详见文档:
Top-level rotation by multiples of 90 degrees: PIX *pixRotateOrth()
180-degree rotation: PIX *pixRotate180()
90-degree rotation (both directions): PIX *pixRotate90()
Left-right flip: PIX *pixFlipLR()
Top-bottom flip: PIX *pixFlipTB()
对于那些旋转(90°或180°),你应该只考虑上面的函数,因为它们没有对目标图像中的像素位置进行任何近似(并且它们更快):所以你不会松动任何像素。 pixRotate函数(以及相似的函数)适用于任何其他角度。