Visual Basic |
---|
Public Function AutoRotate() As EPageRotation |
If the image contains enough capital letters of the Latin alphabet, this method returns ciRotNone, ciRotUpsideDown, ciRotLeft, or ciRotRight.
If the image does not contain a sufficient number of good quality letters, then graphical features like lines are used.
If the most lines are horizontal, this method returns ciRotPortrait. If the most lines are vertical, this method returns ciRotLeftOrRight.
If neither sufficient letters or lines are present, this method returns ciRotUnknow.
If needed call AutoDeskew prior to calling AutoRotate.
If rotation is established and image rotated to the right-side-up orientation .
If object.Image.IsZone is true then object.Image.Parent is rotated base on data within object.Image.Zone rectangle.
Sub RepairMethods(imageFile As String, imageFileOut As String) ' Create objects and open input images Dim Ci As New CiServer Dim Repair As CiRepair: Set Repair = Ci.CreateRepair Repair.Image.Open imageFile ' Do Processing Repair.AutoDeskew ' Use AutoDeskew before AutoRotate Repair.AutoRotate ' Repair.AutoCrop 10, 10, 10, 10 ' Do not use AutoCrop with AutoRegister or BorderExtract ' Repair.AutoRegister 100, 100 ' Do not use AutoRegister with AutoCrop or BorderExtract Repair.AdvancedBinarize 0, 0, 0 Repair.BorderExtract ciBexBorderDeskewCrop, ciBeaCleaner Repair.RemovePunchHoles Repair.SmoothCharacters ciSmoothDarkenEdges Repair.CleanNoise 3 ' Use CleanNoiseExt to remove white noise ' Repair.CleanNoiseExt (ciCnxBlackNoise + ciCnxWhiteNoise), 3, 3, 10, 0 Repair.pLineCurvature = ciCurvLow Repair.pMaxLineAngle = 5 Repair.pMaxLineGap = 5 Repair.pMinLineLength = 200 Repair.DeleteLines ciLineVertAndHorz, ciTrue Repair.Image.SaveAs imageFileOut, ciEXT End Sub