아무도 이것을 android
으로 이식 했습니까? 셰이더보다 더 많은 프레임 워크 . 카메라 데이터를 openGL
에 가져 오는 것과 같습니다. 나는 iOS
과 함께 작업했으며 매우 빠릅니다. 어떤 도움이라도 대단히 감사합니다. 안드로이드 아이디어에서 대한안드로이드 용 GPUimage 포트
답변
GPUImage : 아이폰 OS GPUImage 프레임 워크
목표는 가능한 한 GPUImage에 유사한 일을하는 것입니다. 꼭지점 및 조각 쉐이더는 완전히 동일합니다. 이렇게하면 GPUImage iOS에서 Android로 필터를 쉽게 이식 할 수 있습니다.
링크는 다음과 같습니다 :
안드로이드 라이브러리는 이미지 (비디오 없음)에서만 작동하는 것으로 보입니까? –
예, 이미지 만 – vanloi999
이미지 및 비디오를 모두 처리 할 수있는 다른 라이브러리가 있습니까? –
당신이 비디오 미리보기 Gpuimage을 사용하고 또한 사진을 찍을 단지 NDK와 gpuimage 라이브러리의 JNI 파일을 컴파일하고 YuvtoRgb이 GPUImageNativeLibrary로 변환하는 방법을 넣을 수 있습니다. android 용 GPUImageLibrary의 자바 클래스입니다.
public static void YUVtoRBGA(byte[] yuv, int width, int height, int[] rgb) {
final int frameSize = width * height;
int r, g, b, y1192, y, i, uvp, u, v;
for (int j = 0, yp = 0; j < height; j++) {
uvp = frameSize + (j >> 1) * width;
u = 0;
v = 0;
for (i = 0; i < width; i++, yp++) {
y = (0xff & ((int) yuv[yp])) - 16;
if (y < 0)
y = 0;
if ((i & 1) == 0) {
v = (0xff & yuv[uvp++]) - 128;
u = (0xff & yuv[uvp++]) - 128;
}
y1192 = 1192 * y;
r = (y1192 + 1634 * v);
g = (y1192 - 833 * v - 400 * u);
b = (y1192 + 2066 * u);
// Java's functions are faster then 'IFs'
r = Math.max(0, Math.min(r, 262143));
g = Math.max(0, Math.min(g, 262143));
b = Math.max(0, Math.min(b, 262143));
rgb[yp] = 0xff000000 | ((r << 6) & 0xff0000)
| ((g >> 2) & 0xff00) | ((b >> 10) & 0xff);
// rgba, divide 2^10 (>> 10)
/*
* rgb[yp] = 0xff000000 |((r << 14) & 0xff000000) | ((g << 6) &
* 0xff0000) | ((b >> 2) | 0xff00);
*/
}
}
}
이 함께 GPUImageNativeLibrary.java 클래스의 공용 정적 기본 YUVtoRBGA의 방법을 대체, 당신은 했어요.
비디오에 필터를 적용하고 저장하려면이 기능이 작동합니까? –
예, GPUImageNativeLibrary.java 클래스에서 다음과 같이 변경했으나 marshmallow에 비해 지연됩니다. 다른 것을 더 할 수 있으면 알려주세요. –
- 1. 안드로이드 블루투스 COM 포트
- 2. 안드로이드 udp 포트
- 3. 안드로이드 SMS 포트 정보
- 4. iPad 용 라텍스 포트
- 5. BlazeDS 용 포트 구성
- 6. 유닉스 용 SubSonic 포트?
- 7. GPUImage issue iPhone
- 8. GPUImage 필터를 UIView에 적용하십시오.
- 9. GPUImage : GPUImageToneCurveFilter Not Working
- 10. GPUImage - GPUImageMedianFilter 및 GPUImageGaussianBlurFilter
- 11. GPUImage 크로마 키 필터
- 12. GPUImage 녹색 화면
- 13. GPUImage : GPUImageMovieWriter 취소 중
- 14. 진저 브레드 용 ICS 용 포트 ap
- 15. Android 용 iOS 포트 용 OpenCV
- 16. 네이티브 안드로이드 포트 플래시 게임
- 17. 안드로이드 에뮬레이터 얻을 포트 번호
- 18. PXA270 장치의 포트 안드로이드 OS
- 19. 전화 접속 연결 용 포트
- 20. PHP 용 html2canavas-proxy 포트
- 21. 파이썬 3 용 OAuth 포트
- 22. a win32 용 포트 구성
- 23. iOS : GPUImage 라이브러리 및 VBO
- 24. GPUImage 이미지의 열 합계를 얻으려면
- 25. 안드로이드 용 안드로이드 전용 와이파이 드라이버 안드로이드 용
- 26. Java 용 안드로이드 공유 데이터베이스 용 자바
- 27. 안드로이드 2.3 용 안드로이드 캘린더
- 28. 안드로이드 용 단추를 사용하는 안드로이드
- 29. 안드로이드 (기본값이 아닌 포트)의 SMB 서버
- 30. 안드로이드 Java ServerSocket 포트 번호가 무엇입니까?
물어보기 전에 나는 곧 Android 버전으로 작업하지 않을 것입니다. 그러나 누군가가 몇 달 전에 AS3에 기본 정보를 제공했습니다 : https://github.com/inspirit/GPUImage. 프래그먼트 쉐이더는 거의 영향을받지 않지만, 나머지는 안드로이드 카메라와 OpenGL ES 아키텍처를 지원하는 완전한 재 작성이 필요합니다. 또한 iOS 장치와 PowerVR 하드웨어에 대해 특정 가정을 할 수있는 해당 플랫폼 용 장치 하드웨어를 훨씬 더 다양하게 다룰 필요가 있습니다. –
저는 현재 github에서 찾을 수있는 GPUImage의 빠른 C++ 포트 (https://github.com/Dexterp37/GPUImage)를 실험하고 있습니다. 현재 파일에서로드하여 그레이 스케일 필터를 사용할 수 있으며 Android (NDK를 통한) 지원은 아직 완료되지 않았지만 가능한 한 빨리 작업을 시작할 계획입니다. – Dexter
시작하기 전에 [Renderscript] (http://developer.android.com/guide/topics/renderscript/compute.html)로 약간 읽어보십시오. API에는 이미지 처리를위한 내장 기능이 있습니다. – eternalmatt