[안드로이드] USB camera 연결 시, 항상 permission denied인 경우
·
안드로이드
안드로이드가 생각보다 똑똑하다. USB 장치면 다 똑같이 볼줄 알았는데, 연결되는 장치가 카메라면 카메라인줄 안다. 즉, USB 카메라의 권한을 얻으려면 USB 연결 권한을 얻기 전에 먼저 카메라 권한을 먼저 얻어내자.
[안드로이드] PreviewView가 다른 View를 overlap하는 경우
·
안드로이드
만족스럽지는 않지만.. 해결하긴 했다. xml에서 scaleType을 fitCenter로 맞추면 지정한 영역에 비율 그대로 맞춰서 들어간다. 한마디로 crop돼서 들어가는게 아니라, AspectRatio를 4:3 또는 16:9로 맞췄다면 그게 작아진채로 들어간다. 다른 view를 덮는건 해결할 수 있지만, 내가 원하는건 crop해서 넣는건데 이걸 어떻게 할 수 있을까? 도와줘 지구촌 고수들..
[안드로이드] 앱 강제 종료
·
안드로이드
앱을 구성하다보면 어느 화면에서든 바로 앱을 종료시켜야하는 경우가 있다. 처음에는 System.exit(0) 만 사용하여 구현하려했는데, 이상하게 앱이 종료됐다가 다시 시작되는 현상을 발견했다. 따라서 앱을 종료하는 시점에 존재하는 Activity를 백그라운드로 이동시키고, 종료한다. 이후 Process.killProcess 메서드를 사용하여, 앱 자체를 강제 종료시키는 방법으로 구현했다. moveTaskToBack(true); finishAndRemoveTask(); Process.killProcess(Process.myPid()); 코드의 위에서 두 줄은 Activity를 상속받은 클래스에 존재한다는 것을 놓치지 말자.
[2022 동계 모각코 6회차] 회고
·
기타/모각코
대부분 텐서로 만들어 한번에 계산할 수 있었으나, 인풋 이미지에 대해 for문을 돌아야한다는 것은 변함이 없었다. 더 고민하고, 안되면 텐서플로 코드라도 까봐야겠다..
[2022 동계 모각코 6회차] - 계획
·
기타/모각코
Scaling을 for문 없이 구현하는 방법에 대해 생각해본다.
[2022 동계 모각코 5회차] - 회고
·
기타/모각코
https://ideadummy.tistory.com/88 [컴퓨터 비전] 이미지 변환(2) - Bilinear Interpolation 이미지는 픽셀 단위로 이루어진 데이터이다. 당연하다. 누구도 반박 못한다. 픽셀 단위라는 것은 이미지가 색깔을 가진 블록들을 하나하나 붙여서 만들었다는 것을 의미한다. 마인크래프트처럼 ideadummy.tistory.com 더 빠르게 resize하는 방법을 포스팅했다.
[2022 동계 모각코 5회차] - 계획
·
기타/모각코
Bilinear Interpolation에 대해 적었던 글을 수정할 예정이다.
[컴퓨터 비전] 이미지 변환(2) - Bilinear Interpolation
·
컴퓨터 비전
이미지는 픽셀 단위로 이루어진 데이터이다. 픽셀 단위라는 것은 색깔을 가진 블록들을 하나하나 붙여서 만들었다는 것을 의미한다. 우리가 보는 휴대폰의 이미지나, 모니터의 이미지들 모두 픽셀로 이루어져 있으므로 자세히 들여다보면 무수한 정사각형들의 집합임을 알 수 있다. 하지만 현실의 물체들은 모두 연속적인 데이터이다. 픽셀처럼 딱 떨어지는 위치가 없다. 여기면 여기 저기면 저기, 어떤 기준점을 바탕으로 정확한 수치만큼 떨어져있다고 말하기 어렵다.      그림을 키워보자생각해보자. 우리가 가진 고양이 사진이 있는데, 좀 크게 키워서 보고싶다. 고양이 사진은 높이가 640픽셀 너비가 480 픽셀이라고 하자. 우선 틀을 만들어야하므로 무작정 이미지의 높이를 2배하고 너비를 2배한 틀을 만들었다. 고양이 사진은..
[2022 동계 모각코 4회차] 회고
·
기타/모각코
https://ideadummy.tistory.com/86 [안드로이드] getBitmap 메서드와 성능 결론은 'getBitmap 메서드를 되도록이면 사용하지 말자' 입니다. 이번에 랩실 프로젝트에서 제가 맡은 부분은 모델이 주는 bounding box를 스크린에 출력하는 것이었습니다. 모델이 얼마나 빠르게 결 ideadummy.tistory.com 반복적으로 화면을 업데이트 해주는 작업에서 getBitmap 메서드를 사용하고 있다면, 성능이 제대로 나오지 않을 가능성이 크다. 따라서 현재 성능에 만족하지 못하고 있다면, ImageAnalysis.Analyzer 객체에 인자로 제공되는 ImageProxy객체를 가공하여 사용하자. ImageProxy 객체를 비트맵으로 변환하는 코드는 다음과 같다. Bit..
[안드로이드] getBitmap 메서드와 성능
·
안드로이드
결론은 'getBitmap 메서드를 되도록이면 사용하지 말자' 입니다. 이번에 랩실 프로젝트에서 제가 맡은 부분은 모델이 주는 bounding box를 스크린에 출력하는 것이었습니다. 모델이 얼마나 빠르게 결과를 주던, 입력과 출력 사이에 계산하는 시간이 길면 길수록 출력되는 bounding box와 사용자가 보고있는 화면의 시간차는 계속해서 늘어납니다. 미리보기 화면 -> 화면에 대한 비트맵 이미지 -> 모델 -> bounding box 그리기 위와 같은 흐름을 구성했는데, 핵심은 미리보기 화면(previewView)에서 ImageAnalyzer를 통해 얻는 화면에 대한 비트맵 이미지는 계속해서 모델이 가져가도록 하고, 나중에 출력으로 나온 bounding box와 그때 사용자가 보고있었던 화면을 시간..