Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

이미지프로세싱

2,606 views

Published on

  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

이미지프로세싱

  1. 1. 자바 기반 이미지 프로세싱 1. 개요 2. 구성도 3. 목표 4. 흑백 5. 선명도 6. 회전 7. 데모
  2. 2. 개요 컴퓨터를 이용하여 생성된 영상자료 (이미지 또는 동영상 등)를 목적에 맞게 처리하는 일련의 과정 영상의 화질을 개선 하거나, 영상을 기하학적으로 변환하거나 영상의 특징 을 두드러지게 변화 시키거나, 압축하는 작업을 포함 방송, 영화, 의료, 산업현장, 사진편집, 출판 등 광범위한 분야에서 활용
  3. 3. 구성도PC (Swing/AWT) Mobile (Android) WEB (JSP/Servlet) 서버 (APM) JSON POST camera Image Processing Android bitmap API
  4. 4. 목표 1. 자바언어에 대한 이해 2. 모바일 플랫폼(Android)에 대한 이해 3. 이미지 프로세싱에 대한 이해
  5. 5. 흑백 이미지 (Grayscale) L = 0.2126 R + 0.7152 G + 0.0722 B Convert(“L”) 함수는 R,G,B 세개의 성분을 한 개의 광도(Luma) 성분으로 합성한다. 이 계수들은 우리 눈이 느끼는 빨강, 파랑, 초록 삼원색의 밝기를 상대적 차이를 바탕으로 채택한 값 RGB의 3원색을 흑백으로 변환한 결과
  6. 6. //그레이스케일public static Bitmap doGreyscale(Bitmap src) { // constant factors final double GS_RED = 0.299; final double GS_GREEN = 0.587; final double GS_BLUE = 0.114; // create output bitmap Bitmap bmOut = Bitmap.createBitmap(src.getWidth(), src.getHeight(), src.getConfig()); // pixel information int A, R, G, B; int pixel; // get image size int width = src.getWidth(); int height = src.getHeight(); // scan through every single pixel for(int x = 0; x < width; ++x) { for(int y = 0; y < height; ++y) { // get one pixel color pixel = src.getPixel(x, y); // retrieve color of all channels A = Color.alpha(pixel); R = Color.red(pixel); G = Color.green(pixel); B = Color.blue(pixel); // take conversion up to one single value R = G = B = (int)(GS_RED * R + GS_GREEN * G + GS_BLUE * B); // set new pixel color to output bitmap bmOut.setPixel(x, y, Color.argb(A, R, G, B)); } } // return final image return bmOut;}
  7. 7. 선명도 (Sharpening) 0 -1 0 -1 -1 -1 -1 5 -1 -1 9 -1 0 -1 0 -1 -1 -1 마스크1 마스크2 영상을 선명하게 하는 마스크는 -1과 5, 9와 같은 0~1을 벗어난 값을 사용한다는 것에 주목하자. 이렇게 되면 주변 픽셀보다 밝은 픽셀은 더 밝아지게 되고, 주변 픽셀보다 어두운 픽셀은 더 어두워지게 되어 서 픽셀들 사이의 명암도 차이가 두드러지고, 결과적으로 선명한 이미 지가 얻어진다.
  8. 8. 선명도 (Sharpening) 마스크1 마스크2
  9. 9. final static int KERNAL_WIDTH = 3;final static int KERNAL_HEIGHT = 3;/* knl 값int[][] kernalBlur = { {0, -1, 0}, {-1, 5, -1}, {0, -1, 0} };*/ public static Bitmap doSharpening(Bitmap src, int[][] knl) { Bitmap dest = Bitmap.createBitmap( src.getWidth(), src.getHeight(), src.getConfig()); int bmWidth = src.getWidth(); int bmHeight = src.getHeight(); int bmWidth_MINUS_2 = bmWidth - 2; int bmHeight_MINUS_2 = bmHeight - 2; for(int i = 1; i <= bmWidth_MINUS_2; i++){ for(int j = 1; j <= bmHeight_MINUS_2; j++){ //get the surround 3*3 pixel of current src[i][j] into a matrix subSrc[][] int[][] subSrc = new int[KERNAL_WIDTH][KERNAL_HEIGHT]; for(int k = 0; k < KERNAL_WIDTH; k++){ for(int l = 0; l < KERNAL_HEIGHT; l++){ subSrc[k][l] = src.getPixel(i-1+k, j-1+l); } } //subSum = subSrc[][] * knl[][] int subSumA = 0; int subSumR = 0; int subSumG = 0; int subSumB = 0;
  10. 10. 회전(Convolution) – 기하학적 처리 회전 좌표변환 평면좌표를 점 (x,y)를 반시계 방향으로 각도 θ만큼 회전한 좌표 는 (x cos θ – y sin θ, x sin θ + y cos θ) 이다
  11. 11. /* 회전 */ public static Bitmap doRotate(Bitmap bmp, int nRotate, int viewW, int viewH){ Matrix matrix = new Matrix(); // 이미지의 해상도를 줄인다. /*float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; matrix.postScale(scaleWidth, scaleHeight);*/ matrix.postRotate(nRotate); // 회전 // 이미지를 회전시킨다 Bitmap rotateBitmap = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true); // View 사이즈에 맞게 이미지를 조절한다. Bitmap resize = Bitmap.createScaledBitmap(rotateBitmap, viewW, viewH, true); return resize; }
  12. 12. 참고자료http://yagi815.tistory.com/242http://mainia.tistory.com/602http://xjaphx.wordpress.com/learning/tutorials/http://kylog.tistory.com/19http://www.lac.inpe.br/JIPCookbook/index.jsp
  13. 13. DEMO

×