seek热成像摄像头显示部分

seek热成像摄像头,获取每一帧的温度数据

seek_preview.setStateCallback(new SeekPreview.StateCallbackAdapter() {
            @RequiresApi(api = Build.VERSION_CODES.N)
            @Override
            public void onFrameAvailable(SeekPreview seekPreview, SeekImage seekImage) {

                Thermography t1 = seekPreview.getSeekOverlay().getSeekImage().getThermography();
                List<Thermography.Spot> l3 = t1.getAllSpots();
                Thermography the = seekImage.getThermography();
                List<Thermography.Spot> list = the.getAllSpots();

                Thermography.Data data = t1.getThermalData();
                List<Thermography.Spot> l2 = the.getAreas();  // 0
                List<Thermography.Spot> spots = the.getSpotPoints(); //0
                // LogCook.e("===Thermography2===>", "======>" + list.size() + " ===>" + list.get(0).getTemperature() + "====>" + l3.size());
                b7++;
                SeekUtility.Temperature temp = data.getTemperature(5, 5);

               // ByteBuffer byteBuffer = data.getBuffer();
             //   LogCook.e("===byteBuffer===>", "======>" + byteBuffer.get(0) + "==>" + byteBuffer.get(1));

                List<Float> f_tem = new ArrayList<>();

                for (int i = 0; i < 206; i++) {
                    for (int j = 0; j < 156; j++) {
                        SeekUtility.Temperature temp1 = data.getTemperature(i, j);
                        f_tem.add(temp1.getValue());
                        /// LogCook.e("======>", "======>(" + i + "," + j + ")=" + temp1);
                    }
                }

                List<Byte> list1 = new ArrayList<>();
                List<Integer> int_list = new ArrayList<>();
                for (int i = 0; i < f_tem.size(); i++) {
                    float f1 = f_tem.get(i);
                    int i1 = (int) (f1 * 256 / 40);
                    byte b = (byte) Integer.parseInt(i1 + "", 16);
                    list1.add(b);
                    int_list.add(i1);

                    if (i == 100) {
                           Log.e("======>", "======>(" + i + ")=" + f1 + " ===" + i1);
                    }
                }

                //   byte[] b1 = listTobyte(list1);
                int[] i_i = int_list.stream().mapToInt(Integer::intValue).toArray();

                //  Bitmap bmp = Bitmap.createBitmap(i_i, 0, 206, 206, 156, Bitmap.Config.ARGB_8888);
                //bmp.copyPixelsFromBuffer(byteBuffer);
                // Bitmap bmp = Bitmap.createBitmap( 208, 156, Bitmap.Config.ARGB_8888);
              //  Bitmap bmp = seekImage.getColorBitmap(); //获取seek的rbg图

                //  writeImageToPNG(System.currentTimeMillis() + "", bmp);
               // Bitmap finalBmp = bmp;
              //Log.e("====>","===>"+Arrays.toString(floats)); 数组打印

            }

            @Override
            public void onDoubleTap(SeekPreview seekPreview, MotionEvent e) {
                Intent intent = getIntent();
                finish();
                startActivity(intent);
            }
        });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值