通过计算机显示器和智能手机摄像头进行数据传输

简介: 【10月更文挑战第7天】

3.2k star,最近超火一个开源神器

libcimbar: 高效的彩色图标矩阵条码实现

软件简介

libcimbar 是一个高效的彩色图标矩阵条码(Color Icon Matrix Barcode)实现,旨在通过计算机显示器和智能手机摄像头进行数据传输。

该项目由 sz3 开发,提供了一种无需互联网、蓝牙或 NFC 等传统通信方式的全新数据传输方法。

libcimbar 通过将数据编码为彩色图标矩阵条码,并利用摄像头进行解码,实现了高达 850 kbps(约 106 KB/s)的传输速度。

image.png

功能特点

  1. 高密度数据编码:libcimbar 使用彩色图标矩阵条码格式,将数据存储在彩色瓷砖网格中。每个瓷砖的位置和颜色编码了数据位,结合 Reed Solomon 纠错码,确保数据传输的可靠性。

  2. 高效数据压缩:libcimbar 采用了基于喷泉码(fountain codes)和 zstd 压缩的文件编码协议。压缩后的文件可以通过一系列 cimbar 码输出为图像或实时视频流。

  3. 跨平台支持:libcimbar 的代码主要用 C++ 编写,并在 amd64+linux、arm64+android(仅解码器)和 emscripten+WASM(仅编码器)上开发和测试。由于编码器可以编译为 asmjs 和 wasm,因此可以在任何现代 Web 浏览器上运行。

  4. 离线使用:用户可以将 cimbar.org 安装为渐进式 Web 应用(PWA),或下载最新版本的 cimbar_js.html 并在本地浏览器中打开。

  5. 简单依赖管理:libcimbar 依赖于 OpenCV 和 GLFW(包括 OpenGL ES 头文件),其他所有依赖项都包含在源代码树中。

如何快速开始

  1. 环境准备

    • 安装 OpenCV 和 GLFW:
      sudo apt-get install libopencv-dev libglfw3-dev libgles2-mesa-dev
      
  2. 克隆仓库

    git clone https://github.com/sz3/libcimbar.git
    cd libcimbar
    
  3. 构建项目

    • 使用 CMake 构建:
      mkdir build
      cd build
      cmake ..
      make
      
  4. 运行编码器

    • 编码器可以将文件编码为 cimbar 码并输出为图像或视频流:
      ./cimbar_encoder input_file output_directory
      
  5. 运行解码器

    • 解码器使用摄像头读取 cimbar 码并重建文件:
      ./cimbar_decoder output_directory
      
  6. Web 版本

    • 访问 cimbar.org 使用 Web 编码器。
    • 下载 cimbar_js.html 并在本地浏览器中打开以离线使用。

结论

libcimbar 提供了一种创新的、无需传统通信方式的数据传输方法。其高效的编码和解码机制、跨平台支持以及简单的依赖管理,使其成为数据传输领域的一个有力工具。

无论是开发者还是普通用户,都可以通过简单的步骤快速上手,体验这一高效的数据传输方式。

希望这篇介绍能帮助您更直观地了解 libcimbar,并激发您对这一创新技术的兴趣!

libcimbar GitHub 仓库(https://github.com/sz3/libcimbar)

相关文章
|
算法 数据安全/隐私保护 计算机视觉
基于Aidlux平台实现手机摄像头实时Canny检测
基于Aidlux平台实现手机摄像头实时Canny检测
|
Android开发 iOS开发
【资源共享】手机共享摄像头给电脑用
【资源共享】手机共享摄像头给电脑用
461 0
|
安全 算法 Unix
网络安全第8章课后题 计算机及手机病毒防范
网络安全第8章课后题 计算机及手机病毒防范
306 0
|
传感器 机器学习/深度学习 编解码
为什么你的手机后置摄像头越来越丑?ECCV2022这篇论文告诉你
为什么你的手机后置摄像头越来越丑?ECCV2022这篇论文告诉你
275 0
|
Web App开发 安全 Android开发
如何在手机或计算机上退出 Gmail
如何在手机或计算机上退出 Gmail
|
数据管理 文件存储 数据安全/隐私保护
iMazing2023免费版苹果手机系统设备数据传输与备份工具
iMazing需要数据线将你的电脑和iPhone或者是iPad连接,这款软件是itunes的完美替代品,有用iPhone或iPad的朋们友推荐下载使用。只要在同一网络下,就可以轻松管理你的iPhone,可以说是非常的方便。平时在传输文件资料时,可以将iMazing充分利用起来,它可以对iQS设备进行强有力的管理。下载末尾安装包!
245 0
iMazing2023免费版苹果手机系统设备数据传输与备份工具
|
Android开发
问题:安卓手机插入OTG摄像头时,如何禁用摄像头自带的MIC?
问题:安卓手机插入OTG摄像头时,如何禁用摄像头自带的MIC?
211 0
打印手机摄像头的支持参数+将预览帧转换为位图+获取最佳预览
打印手机摄像头的支持参数+将预览帧转换为位图
169 0
|
编解码
遇到个别手机前置摄像头相差90度的怪事
今天有人提供了一个手机,说怎么视频角度总是不对。吾以为应用版本没有更新。安装之后一试,还是错误,总是跟别的手机相差90度。
158 0
|
图形学
unity3d 中控制手机前后摄像头切换
闲话少说,上代码,google上搜来的代码,不过里面有bug,不能顺利切换,下面的代码是已经修改过的,经测试,可以正常运行。 using System;using UnityEngine;using System.
1321 0