업무 및 개인 용도로 받는 많은 래스터 이미지는 디지털 스캐너를 통해 스캔한 이미지이거나 모바일 장치의 사진일 수 있습니다. 따라서 이미지 내부의 텍스트가 제대로 정렬되지 않고 가로 또는 세로로 페이지 여백을 가로질러 실행될 가능성이 높습니다. 간단히 말해서, 스캔한 이미지는 스캐너에서 종종 기울어집니다(용지가 이동/회전됨). 이제 이러한 문제를 해결하기 위해 기울기 보정이라는 기술을 선택합니다. 이 기술은 기울기와 같은 양만큼 반대 방향으로 이미지를 회전하여 기울기를 제거하는 프로세스입니다. 기울기 보정 기능은 이미지가 스캐너에서 나올 때 자동화된 이미지 처리에 매우 유용합니다.
이제 이 기사에서는 Java Cloud SDK를 사용하여 이미지 기울기를 보정하는 방법에 대해 자세히 살펴보겠습니다. 따라서 기울기 보정 기능은 두 단계로 작동합니다. 즉, 이미지의 기울어진 각도를 감지한 다음 이미지를 회전하여 왜곡을 수정합니다. 수신된 팩스에 이 작업을 적용하고 이미지의 정보(텍스트)를 사용하여 용지 여백이 아닌 회전 각도를 계산하고 요구 사항을 충족할 수 있습니다. 그럼에도 불구하고 이미지 기울기 보정 작업은 1비트, 8비트 및 24비트 컬러 이미지에서 수행할 수 있음을 알고 있습니다.
기울기 보정 이미지 API
이미지를 지원하기 위해 클라우드에서 이미지 파일을 조작할 수 있는 기능을 제공하는 REST 기반 API가 있습니다. 이제 Java 애플리케이션을 위해 Java 코드를 통해 이미지 처리 기능을 구현할 수 있는 Aspose.Imaging Cloud SDK for Java를 특별히 개발했습니다. 이제 Java 클라우드 SDK를 사용하여 이미지 기울기를 보정하려면 첫 번째 단계는 pom.xml(maven 빌드 유형 프로젝트)에 다음 정보를 포함하여 Java 프로젝트에 해당 참조를 추가하는 것입니다.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
다음 단계는 클라우드 대시보드에서 클라이언트 자격 증명을 얻는 것입니다. Aspose Cloud 대시보드에 계정이 없는 경우 유효한 이메일 주소를 통해 무료 계정을 만드십시오. 이제 새로 만든 계정으로 로그인하고 Aspose Cloud Dashboard에서 Client ID와 Client Secret을 조회/생성합니다.
Java를 사용하여 온라인으로 이미지 기울기 보정
Java 코드 스니펫을 사용하여 이미지 기울기를 보정하는 방법에 대해 자세히 살펴보겠습니다. 이 예에서는 로컬 드라이브에서 TIFF 이미지를 로드하고 기울기 보정 사진 작업을 적용합니다. 결과 파일은 클라우드 저장소에 저장됩니다.
- 먼저 개인화된 클라이언트 자격 증명을 기반으로 ImagingApi 객체를 생성합니다.
- 둘째, 비례적으로 이미지 크기를 조정하도록 나타내는 부울 변수를 만듭니다.
- 이제 readAllBytes(…) 메서드를 사용하여 소스 TIFF의 내용을 읽고 byte[] 배열로 전달합니다.
- 다음 단계는 바이트 배열, 배경색에 대한 선택적 매개 변수 및 결과 기울기 보정 사진의 이름이 필요한 CreateDeskewedImageRequest의 인스턴스를 생성하는 것입니다.
- 마지막으로 createDeskewedImage(…) 메서드를 호출하여 이미지 기울기를 보정합니다. 결과 TIFF는 클라우드 스토리지에 저장됩니다.
// https://dashboard.aspose.cloud/에서 ClientID 및 ClientSecret 가져오기
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// 이미징 객체 생성
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 기울기 보정된 이미지의 크기를 비례적으로 조정하도록 변수 설정
boolean resizeProportionally = true;
// 배경색 정보
String bkColor = "white";
// 로컬 드라이브에서 파일 로드
File f = new File("DeskewSampleImage.tiff");
// TIFF 이미지의 내용을 바이트 배열로 읽습니다.
byte[] inputStream = Files.readAllBytes(f.toPath());
// 기울기 보정 이미지 속성을 정의하는 객체 생성
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,"Resultant.tiff",null);
// 사진 기울기 보정 및 클라우드 스토리지에 출력 저장
imageApi.createDeskewedImage(request);
이제 결과 TIFF를 로컬/네트워크 드라이브에 저장하려면 다음 코드 스니펫을 사용해 보십시오.
// https://dashboard.aspose.cloud/에서 ClientID 및 ClientSecret 가져오기
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// 이미징 객체 생성
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 기울기 보정된 이미지의 크기를 비례적으로 조정하도록 변수 설정
boolean resizeProportionally = true;
// 배경색 정보
String bkColor = "white";
// 로컬 드라이브에서 파일 로드
File f = new File("DeskewSampleImage.tif");
// TIFF 이미지의 내용을 바이트 배열로 읽습니다.
byte[] inputStream = Files.readAllBytes(f.toPath());
// 기울기 보정 이미지 속성을 정의하는 객체 생성
CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream,resizeProportionally,bkColor,null,null);
// 사진 기울기 보정 및 스트림 개체로 출력 반환
byte[] updatedImage = imageApi.createDeskewedImage(request);
// 업데이트된 TIFF 이미지를 저장할 경로
Path path = Paths.get("/Users/nayyer/Documents/", "DeskewSampleImage_out.tif").toAbsolutePath();
// API를 호출하여 사진 기울기 보정 및 로컬 드라이브에 저장
Files.write(path, updatedImage);
위 예제에서 사용된 샘플 TIFF 이미지는 DeskewSampleImage.tif에서 다운로드할 수 있습니다.
cURL 명령을 사용하여 PDF 기울기 보정
기울기 보정된 이미지가 포함된 PDF 파일을 받을 수 있으므로 PDF 파일에서 이미지를 추출한 다음 이미지 기울기를 보정하는 것이 빠른 해결책 중 하나입니다. 이제 이 요구 사항을 충족하기 위해 여기에서 Aspose.PDF Cloud라는 두 가지 Cloud API를 사용하여 PDF 파일에서 이미지를 추출하고 Aspose.Imaging Cloud를 사용하여 사진 기울기를 보정합니다. 그러나 작업을 수행하기 전에 먼저 다음 명령을 사용하여 JWT 액세스 토큰(클라이언트 자격 증명 기반)을 생성해야 합니다.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
JWT 토큰이 있으면 Aspose.PDF Cloud의 GrayscaleImage API를 사용하여 PDF 이미지를 추출해야 합니다. 이미지는 TIFF 형식으로 추출되어 클라우드 스토리지에 저장됩니다.
curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/Resultant.pdf/pages/1/images/extract/tiff?width=0&height=0" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
이제 이미지가 PDF 파일에서 TIFF 형식으로 추출되었으므로 Aspose.Imaging Cloud의 DeskewImage API를 호출하여 이미지 기울기를 보정해야 합니다. 결과 파일은 응답 스트림으로 반환되므로 로컬 드라이브에 저장할 수 있습니다.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.tiff/deskew?resizeProportionally=true&bkColor=White" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Deskewed.tiff
결론
지금까지 우리는 Java 클라우드 SDK를 사용하여 이미지의 기울기를 보정하고 PDF의 기울기를 보정하는 몇 가지 놀랍고 간단한 단계를 배웠습니다. 이제 Java 코드 조각을 사용하거나 cURL 명령을 사용하여 요구 사항을 충족할 수 있습니다. 동시에 API에서 제공하는 다른 흥미로운 기능에 대해 자세히 알아보려면 제품 설명서를 살펴보는 것이 좋습니다.
당사의 모든 Cloud SDK는 MIT 라이선스에 따라 개발되었으므로 GitHub에서 전체 소스 코드를 다운로드할 수 있습니다. 마지막으로, API를 사용하는 동안 문제가 발생하는 경우 무료 제품 지원 포럼을 통해 빠른 해결을 위해 저희에게 연락하는 것을 고려할 수 있습니다.
관련 기사
자세한 내용은 다음 링크를 참조하십시오.