gqjjqg / android-extend Goto Github PK
View Code? Open in Web Editor NEWcreate useful widget for android.
create useful widget for android.
当我把这段代码写到mainactivity的xml文件中时,程序就会报下方的错误并崩溃,如果把这段代码从xml删除程序就会完好
<com.guo.android_extend.widget.CameraGLSurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
12-12 14:26:47.383 13526-13562/com.arcsoft.sdk_demo E/GED: Failed to get GED Log Buf, err(0)
12-12 14:26:47.442 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x2401 a=1 r=0x10500d7}
12-12 14:26:47.442 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x3001 a=1 r=0x10500d9}
12-12 14:26:47.442 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x601 a=1 r=0x10500d4}
12-12 14:26:47.442 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0xa01 a=1 r=0x10500d5}
12-12 14:26:47.467 13526-13562/com.arcsoft.sdk_demo W/MALI: glDrawArrays:714: [MALI] glDrawArrays takes more than 5ms here. Total elapse time(us): 12110
12-12 14:26:47.482 13526-13526/com.arcsoft.sdk_demo W/InputMethodManager: startInputInner : InputBindResult == null
12-12 14:26:47.520 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x1/d=0x1030249 a=1 r=0x1030249}
12-12 14:26:47.520 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=1 r=0x102037a}
12-12 14:26:47.521 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=1 r=0x102037b}
12-12 14:26:47.521 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x1c/d=0xff212121 a=1 r=0x10600cf}
12-12 14:26:47.521 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x401 a=1 r=0x10500d6}
12-12 14:26:47.522 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=1 r=0x102037c}
12-12 14:26:47.522 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x3801 a=1 r=0x10500cc}
12-12 14:26:47.523 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x1 a=1 r=0x10500d3}
12-12 14:26:47.523 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=1 r=0x102037d}
12-12 14:26:47.531 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=4 r=0x7f040000}
12-12 14:26:47.533 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=4 r=0x7f040002}
12-12 14:26:47.536 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=4 r=0x7f040001}
12-12 14:26:47.538 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x12/d=0x0 a=4 r=0x7f040003}
12-12 14:26:47.635 13526-13584/com.arcsoft.sdk_demo W/linker: librender.so: unused DT entry: type 0x6ffffffe arg 0x1078
12-12 14:26:47.635 13526-13584/com.arcsoft.sdk_demo W/linker: librender.so: unused DT entry: type 0x6fffffff arg 0x2
12-12 14:26:47.637 13526-13584/com.arcsoft.sdk_demo E/ATC.: link failed
12-12 14:26:47.637 13526-13584/com.arcsoft.sdk_demo E/ATC.: Error linking program: Link failed because of missing fragment shader.
12-12 14:26:47.639 13526-13584/com.arcsoft.sdk_demo A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xd0 in tid 13584 (GLThread 7991)
12-12 14:26:47.666 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x2401 a=1 r=0x10500d7}
12-12 14:26:47.666 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x3001 a=1 r=0x10500d9}
12-12 14:26:47.666 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0x601 a=1 r=0x10500d4}
12-12 14:26:47.666 13526-13526/com.arcsoft.sdk_demo W/Resources: Converting to string: TypedValue{t=0x5/d=0xa01 a=1 r=0x10500d5}
海康摄像头获取数据之后如何展示呢
大批量处理将bitmap 转为NV21 使用ImageConverter 会出现内容泄漏问题
使用以下方法也会出现内容泄漏
public byte[] getNV21(int inputWidth, int inputHeight, Bitmap scaled) {
int[] argb = new int[inputWidth * inputHeight];
scaled.getPixels(argb, 0, inputWidth, 0, 0, inputWidth, inputHeight);
byte[] yuv = new byte[inputWidth * inputHeight * 3 / 2];
encodeYUV420SP(yuv, argb, inputWidth, inputHeight);
return yuv;
}
private void encodeYUV420SP(byte[] yuv420sp, int[] argb, int width, int height) {
int frameSize = width * height;
int yIndex = 0;
int uvIndex = frameSize;
int R, G, B, Y, U, V;
int index = 0;
for (int j = 0; j < height; j++) {
for (int i = 0; i < width; i++) {
R = (argb[index] & 0xff0000) >> 16;
G = (argb[index] & 0xff00) >> 8;
B = (argb[index] & 0xff);
// well known RGB to YUV algorithm
Y = ((66 * R + 129 * G + 25 * B + 128) >> 8) + 16;
U = ((-38 * R - 74 * G + 112 * B + 128) >> 8) + 128;
V = ((112 * R - 94 * G - 18 * B + 128) >> 8) + 128;
yuv420sp[yIndex++] = (byte) ((Y < 0) ? 0 : ((Y > 255) ? 255 : Y));
if (j % 2 == 0 && index % 2 == 0 && uvIndex < yuv420sp.length - 2) {
yuv420sp[uvIndex++] = (byte) ((V < 0) ? 0 : ((V > 255) ? 255 : V));
yuv420sp[uvIndex++] = (byte) ((U < 0) ? 0 : ((U > 255) ? 255 : U));
}
index++;
}
}
}
请问下,有什么更好方法批量处理1000-10000 人脸图片bitmap 转为NV21
1,我看虹软的demo 使用的这个库,我的应用是启动直接跳转到预览界面,问题是摄像头 有时候莫名其妙的就会死掉 卡死不动了 但是程序还在运行。
2,我每次adb 断开 程序运行的情况下, studio进行编译 就会启动黑屏 然后重启 ,重启过后相机预览就正常了,但是随时可能出现问题1
我在onstop 和 onDestroy 都设置了 mSurfaceView.closeCamera(); 但是问题2还是出现
java.lang.ArrayIndexOutOfBoundsException
src.length=1382400 srcPos=0 dst.length=3110400 dstPos=0 length=3110400
1 java.lang.System.arraycopy(Native Method)
2 com.guo.android_extend.widget.CameraSurfaceView.onPreviewFrame(CameraSurfaceView.java:225)
3 android.hardware.Camera$EventHandler.handleMessage(Camera.java:1350)
4 android.os.Handler.dispatchMessage(Handler.java:110)
5 android.os.Looper.loop(Looper.java:232)
6 android.app.ActivityThread.main(ActivityThread.java:6910)
7 java.lang.reflect.Method.invoke(Native Method)
8 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1103)
9 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.xxxx-1/lib/arm/librender.so"
at java.lang.Runtime.loadLibrary(Runtime.java:371)
at java.lang.System.loadLibrary(System.java:988)
at com.guo.android_extend.GLES2Render.<clinit>(GLES2Render.java:15)
at com.guo.android_extend.widget.CameraGLSurfaceView.onSurfaceChanged(CameraGLSurfaceView.java:78)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1511)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)
您好,我使用的是GLSurfaceView,参考了sample,但是报错如下,请问是什么原因呢?
usb摄像头,安卓7.1,商米收银机设备,申请了Camera权限。
01-08 17:39:40.277 21476-21476/cn.shundao.cashiersystem I/ATC.: image.so JNI_OnLoad
01-08 17:39:40.297 21476-21476/cn.shundao.cashiersystem W/o.cashiersystem: type=1400 audit(0.0:4121): avc: denied { getattr } for path="/dev/video0" dev="tmpfs" ino=538924 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:video_device:s0 tclass=chr_file permissive=0
01-08 17:39:40.313 21476-21476/cn.shundao.cashiersystem I/ATC.: video.so JNI_OnLoad
01-08 17:39:40.313 21476-21476/cn.shundao.cashiersystem E/ATC.: Cannot identify '/dev/video0': 13, Permission denied
Open_Video = -2
01-08 17:39:40.337 21476-21513/cn.shundao.cashiersystem A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xf in tid 21513 (Thread-5)
在使用虹软人脸识别的时候遇到了这个库,需要:
implementation 'com.guo.android_extend:android-extend:1.0.5'
大神你好,我想修改GLES2Render类中的draw_rect中的native方法,需求是画那种像扫描的框,只有四个角的那种,而不是一个正方形。请问我改如何修改?往指教,谢谢。
10-29 14:58:00.444 7673-7740/com.example.justcanlearn E/ATC.: Image 0 1
10-29 14:58:00.449 183-183/? D/hwcomposer: Unsupport transform=0x1
10-29 14:58:00.513 183-183/? D/hwcomposer: Unsupport transform=0x1
10-29 14:58:00.563 7673-7740/com.example.justcanlearn E/ATC.: Image 0 1
10-29 14:58:00.578 183-183/? D/hwcomposer: Unsupport transform=0x1
10-29 14:58:00.642 183-183/? D/hwcomposer: Unsupport transform=0x1
10-29 14:58:00.711 7673-7740/com.example.justcanlearn E/ATC.: Image 0 1
10-29 14:58:00.723 183-183/? D/hwcomposer: Unsupport transform=0x1
10-29 14:58:00.771 183-183/? D/hwcomposer: Unsupport transform=0x1
10-29 14:58:00.836 7673-7740/com.example.justcanlearn E/ATC.: Image 0 1
10-29 14:58:00.851 183-183/? D/hwcomposer: Unsupport transform=0x1
10-29 14:58:00.900 183-183/? D/hwcomposer: Unsupport transform=0x1
10-29 14:58:00.967 7673-7740/com.example.justcanlearn E/ATC.: Image 0 1
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x6e87d1b0 in tid 6408 (GLThread 339),有一些设备运行,出错,希望帮忙指点一下
HI,我在使用CameraGLSurfaceView 采集preview 数据然后用于做人脸识别开发,同时使用mGLSurfaceView.getGLES2Render().draw_rect() 绘制识别到的人脸矩形,我使用5.0的设备运行程序,一直处于预览捕捉人脸阶段:
CameraGLSurfaceView 用作相机预览时无法全屏,不知能解决吗? 它里面有做有操作,怎么给Camera.setPreviewSize 都没用。。。
mGLSurfaceView.getCamera2Manager().closeCamera();方法在 库文件中找不到,在samples中 用用到这个方法。
版本是 1.0.5
Caused by: java.lang.Exception: FORMAT NOT SUPPORT THIS SIZE
at com.guo.android_extend.image.ImageConverter.image_init(Native Method)
at com.guo.android_extend.image.ImageConverter.initial(ImageConverter.java:43)
部分图片在转NV21的时候会出现这个异常
<com.guo.android_extend.widget.CameraSurfaceView />
<com.guo.android_extend.widget.CameraGLSurfaceView/>
CameraSurfaceView 与 CameraGLSurfaceView 一起用时
CameraSurfaceView 在前 CameraGLSurfaceView 在后没有问题,一切 正常
反过来CameraGLSurfaceView 在前 CameraSurfaceView 在后 应用闪退,并且不报exception,仅仅提示GL问题
错误日志:
05-30 09:59:57.555 164-1027/? E/Parcel: dup() failed in Parcel::read, i is 0, fds[i] is -1, fd_count is 1, error: Bad file number
05-30 09:59:57.555 164-1027/? E/BufferQueueProducer: [SurfaceView] queueBuffer: fence is NULL
05-30 09:59:57.561 1354-1493/com.boanxintong.renlian E/Surface: queueBuffer: error queuing buffer to SurfaceTexture, -22
这种情况是在我连续识别人脸 持续1小时左右 就会出现这个错误 导致摄像头预览界面 卡死
请教一下这个问题怎么解决
有png格式照片转换成NV21数据的工具吗
"return (long)engine;" replace with "return ((long)engine) & 0x00000000ffffffff;"
Is it better?
jcenter上搜不到这个包了
大神,能否请教下,如何在定义上View 绘制人脸框,目前难题是人脸检测返回的rect 坐标怎样转化屏幕上坐标
请问如何将预览视图全屏展示
Camera的CameraSurfaceView.OnCameraListener里面的onPreview会返回结果给onAfterRender里面使用,比如人脸检测结果给render渲染,Camare2的OnDrawListener回调接口onDrawOverlap方法里面怎么得到onPreview里面的结果呢?
项目demo,由asdfqwrasdf/ArcFaceDemo修改过来的,其中项目中使用到楼主的库,但是默认只能按屏幕宽高比来显示,于是就有黑边存在,如下如所示:
通过网络搜索找到的设置全屏的方法:将开源库中的CameraSurfaceView进行修改:
但是出现了人像拉伸的问题,这个问题如何解决?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.