Java DIP-확대 / 축소 효과 만들기

확대 / 축소는 이미지를 확대하여 이미지의 세부 사항이 더 잘 보이고 눈에 띄도록하는 과정입니다.

우리는 사용 OpenCV 함수 resize이미지에 확대 / 축소를 적용합니다. 아래에서 찾을 수 있습니다.Imgproc꾸러미. 구문은 다음과 같습니다.

Imgproc.resize(source,destination, destination.size(),zoomFactor,zoomFactor,Interpolation);

크기 조정 기능에서 소스 이미지, 대상 이미지 및 크기, 확대 / 축소 비율 및 사용할 보간 방법을 전달합니다.

사용 가능한 보간 방법은 다음과 같습니다.

Sr. 아니. 보간 방법 및 설명
1

INTER_NEAREST

가장 가까운 이웃 보간입니다.

2

INTER_LINEAR

쌍 선형 보간입니다 (기본적으로 사용됨).

INTER_AREA

픽셀 영역 관계를 사용한 리샘플링입니다. 더 자유로운 결과를 제공하므로 이미지 데시 메이션에 선호되는 방법 일 수 있습니다.

4

INTER_CUBIC

4x4 픽셀 이웃에 대한 바이 큐빅 보간입니다.

5

INTER_LANCZOS4

8x8 픽셀 이웃에 대한 Lanczos 보간입니다.

크기 조정 방법 외에도 Imgproc 클래스에서 제공하는 다른 방법이 있습니다. 간단히 설명합니다.

Sr. 아니. 방법 및 설명
1

cvtColor(Mat src, Mat dst, int code, int dstCn)

한 색상 공간에서 다른 색상 공간으로 이미지를 변환합니다.

2

dilate(Mat src, Mat dst, Mat kernel)

특정 구조 요소를 사용하여 이미지를 확장합니다.

equalizeHist(Mat src, Mat dst)

회색조 이미지의 히스토그램을 동일하게합니다.

4

filter2D(Mat src, Mat dst, int ddepth, Mat kernel, Point anchor, double delta)

커널과 이미지를 컨볼 루션합니다.

5

GaussianBlur(Mat src, Mat dst, Size ksize, double sigmaX)

가우시안 필터를 사용하여 이미지를 흐리게합니다.

6

integral(Mat src, Mat sum)

이미지의 적분을 계산합니다.

다음 예제는 Imgproc 클래스를 사용하여 이미지에 확대 / 축소를 적용하는 방법을 보여줍니다.

import org.opencv.core.Core;
import org.opencv.core.Mat;

import org.opencv.highgui.Highgui;
import org.opencv.imgproc.Imgproc;

public class Main {
   public static void main( String[] args ) {
   
      try {
         int zoomingFactor = 2;
         System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
         
         Mat source = Highgui.imread("image.jpg", Highgui.CV_LOAD_IMAGE_GRAYSCALE);
         Mat destination = new Mat(source.rows() * zoomingFactor, source.cols()*  zoomingFactor,source.type());  
         
         Imgproc.resize(source, destination, destination.size(),  zoomingFactor,zoomingFactor,Imgproc.INTER_NEAREST);
         Highgui.imwrite("zoomed.jpg", destination);
         
      } catch (Exception e) {
         System.out.println("Error: "+e.getMessage());
      }
   }
}

산출

주어진 코드를 실행하면 다음 출력이 표시됩니다.

원본 이미지

확대 된 이미지 (Zooming factor − 2)