Programming/Android

[안드로이드] OpenCV for Java 이미지 불러오기, 저장하기(load image&save image)

devssun 2017. 4. 30. 22:07
728x90
반응형



정보처리끝나고 중간고사보고 졸업작품을...



졸업작품에서 만드는 App에서는 opencv로 사진을 조작하는 과정이 있어 촬영한 사진을 불러오고 저장하는 단계가 필요하다


우선 카메라 촬영에 대한 소스는 opencv 샘플 코드를 사용하였다



(화면으로 꺼내오는 게 아님)

1. 사진 불러오기


org.opencv.imgcodecs.Imgcodecs 패키지 내부에 있는 imread()함수를 사용한다


함수원형은 아래와 같고, String과 Mat 타입의 객체를 매개 변수로 받는다

filename에는 파일의 경로를 직접 넘길 수 있는데 변수를 지정하여 주는 것이 더욱 보기 편하다

Mat 타입을 리턴하기 때문에 따로 객체를 선언하여 리턴된 데이터를 넣어주도록 한다


1
public static Mat imread(String filename, int flags)
cs


flags에는 이미지를 불러오는 방법에 대해 설정할 수 있고 컬러, 그레이모드 등이 이미 정의되어 있다


1
originImg = Imgcodecs.imread(fileName, Imgcodecs.CV_LOAD_IMAGE_COLOR);
cs




2. 사진 저장하기


사진 조작이 끝나고나면 사진을 저장하는데 덮어씌운다고 생각하면 쉽다


함수 원형은 imread()와 달리 boolean값을 리턴한다(쓰기 작업 성공 여부를 확인하는 용도)

수정할 이미지이름(경로포함)과 덮을 이미지를 매개 변수로 넘긴다


1
public static boolean imwrite(String filename, Mat img)
cs


1
Imgcodecs.imwrite(fileName, edge);
cs




두 함수를 이용하여 사진을 불러오고 저장할 수 있다!

반응형