본문 바로가기

카테고리

(208)
안드로이드 MediaProjection 에 ImageReader로 버퍼 읽을시 검은 화면 우선 5.0(API 21) 이상에서는 대부분~ 잘된다. 하지만 특정 환경(대부분 예뮬레이터들)에서 MediaProjection을 ImageReader로 통해서 Surface를 읽다 보면 아무 데이터가 없거나 NULL일 수 있다. 이는 실기기 안드로이드든, 예뮬레이터 환경에서 (물론 5.0도 이상일 수 있다!) openGLES 호환(EGL_RECORDABLE_ANDROID 값이 없는 등.. )이 좋지 않아서 발생하는 문제이다. 그래서, 우리는 다른 방법으로 처리해야한다. 바로 구글의 비공식 테스트 앱 (grafika)를 살펴보고 구현하면 된다. 우선 grafika의 gles 을 모드 임포트 해준다. 그리고 VirtualDisplay가 사용할 수 있는 Surface를 만들어 준다. eglCore = EglC..
[Rust] 369게임 //three six nine. 369 game fn main() { for n in 1..100 { let mut cur_num: u32 = n; let mut clap_cnt: u32 = 0; while cur_num > 0 { let cur_x:u32 = cur_num % 10; clap_cnt += match cur_x { 3 | 6 | 9 => 1, _ => 0 }; cur_num /= 10; } if clap_cnt > 0 { for _c in 0..clap_cnt { print!("clap! "); } print!("\n"); } else { println!("{}", n); } } } 연습
[JAVA/Kotlin] Polygon(도형)의 내각 구하기 for (step in 0 until dimens) { val p0 = cords[step] val p1 = cords[(step+1) % dimens] val p2 = cords[(step+2) % dimens] val a = (p1.x - p0.x).pow(2.0) + (p1.y - p0.y).pow(2.0) val b = (p1.x - p2.x).pow(2.0) + (p1.y - p2.y).pow(2.0) val c = (p2.x - p0.x).pow(2.0) + (p2.y - p0.y).pow(2.0) val angle = acos(( a + b - c) / sqrt(4 * a * b)) * 180.0 / Math.PI } dimens는 면의 개수 cords는 dimens 개의 Coordinate..
OpenCV UI 오브젝트 검출 개발 환경은 아래와 같다. OpenCV 4.2 (Built for Android with NONFREE) Android 10 내가 검출하고자 하는 데이터는 실제(Real Object)가 아니고 안드로이드의 Display에서 특정 UI 컴포넌트를 검출하는 작업이 필요했다. 먼저 시도한 방법은 OpenCV의 TemplateMatching. 하지만 여러 디바이스 환경에서의 UI 컴포넌트의 사이즈와 변형(반응형 디자인)으로 인해 TemplateMatching의 특성상 검출하려는 오브젝트의 크기가 검출 대상 소스에서의 크기는 같아야 하고 Multi-scaling의 방식이나 MatPyramid 등 다양한 scale-case 를 반영해도 변형된 데이터에서는 검출이 힘들었다. 그래서 시도해본 것은 SURF, SIFT ..
STAX SR-207, SR-507, SRM-252A 정전식헤드폰의 대표인 STAX의 제품. 기나긴 헤드폰 기변에 종착지라하면 역시 정전식이라고 생각한다. 좋은기회에 저렴하게 새 SR-207과, 중고 SRM-252A를 구할 수 있게되어, 정전식 입문을 시작했으며 지금은 SR-507을 구매해 사용중이다. 전용앰프가 필수라는 사항이 유일한 단점일 정도로 정말로 마음에 들었다. 일단 관심이 생겨도 디자인이 심히... 좋지않고, 한국에 공식수입처가 있기는한데, 유난히 높은 가격 정책이고, 일본에서 직구에 성공하더라도 A/S도 힘들고, 일본 내수 베이직 앰프를 제외하고 대부분 별도의 변압 개조를 해야하고(베이직 앰프를 사용해 중상급기에 도란스를 써도 되는진 모르겠다만) ,청음은 힘들기(공식수입처에서는 가능하다던데... 가보진 않았다), 때문에 정말 입문이 까다로운 ..
Audeze LCD-2 16년 12월부터 17년 3월까지 사용한 LCD-2, Audeze에서 준비한 블랙프라이데이 이벤트로 B-stock(리퍼, 환불 제품)을 $499에 구매할 수 있던 좋은 기회여서 구매하게 됐다. 그런데 Audeze측에서도 생각치 못한 인기로 인해, 사이트가 마비도 됐고, 할인 이벤트 상품 올려놓고 휴가라도 갔는지, 생각 이상의 주문을 받게되었다. 이로인해, Audeze에서 준비한 b-stock 상품을 가뿐히 넘어 Audeze측에서는 새 제품도 어쩔 수 없이 내놓게되었다. 다만 그렇게 출고되는 제품들은, 기존 Rosewood, Bamboo 등 사용자의 반발을 느껴서인지? 아니면 부속품 재고 떨이인지 모르겠지만 다양한 조합으로 구매자에게 무작위로 지급되었다. 무작위로 지급된 상품들은 일단 모두 같은 Fazor..
Shinhan S Bank / JB Detection Bypass Shinhan S Bank 5.1.0 5.1.0(2016.07.12) bypass the jailbreak detectiontested on iOS 9.3.3, iPhone SE, Pangu 9.3.3 JB v1.0 (semi-untethered); Flex 3 Beta. Target Class : SHBAppInfoTarget Method : callCustomeAlertjust pass-throughNOT TESTED FOR FULLY-FUNCTIONAL.MAY CAUSE SIDE-EFFECTS.
우분투 apt-get 오류 W: Unknown Multi-Arch type 'no' for package 'compiz-core' W: Unknown Multi-Arch type 'no' for package 'compiz-gnome' W: Unknown Multi-Arch type 'no' for package 'compiz-core' W: Unknown Multi-Arch type 'no' for package 'compiz-gnome' W: You may want to run apt-get update to correct these problems 와 같은오류 발생시. apt의 source list가 현재 우분투 버전에 맞지않아 발생하는 오류일 수 있다. Ubuntu Sources List Generator 를 통해 버전에 ..