全球灰产交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

全球云38元起免备案V2EX搬瓦工灰产
SEO查询超级PING网站测速
Virmach特价鸡乌云漏洞吾爱破解
查看: 82|回复: 3

这压缩**有点牛逼啊

[复制链接]

575

主题

1718

回帖

6191

积分

论坛元老

Rank: 8Rank: 8

积分
6191
发表于 2024-9-20 10:19:21 | 显示全部楼层 |阅读模式
20230417
本帖最后由 8899 于 2024-9-20 10:25 编辑

https://github.com/sz3/cimbar


二维码里面可以藏30m文件
hostloc邀请码购买+tg:@Sendtoae86bot
回复

使用道具 举报

1

主题

311

回帖

1143

积分

金牌会员

Rank: 6Rank: 6

积分
1143
发表于 2024-9-20 10:25:38 | 显示全部楼层
早上刷到这个抖音了
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

259

主题

2051

回帖

5273

积分

论坛元老

Rank: 8Rank: 8

积分
5273
发表于 2024-9-20 10:29:52 | 显示全部楼层
cimbar is a proof-of-concept 2D data encoding format -- much like QR Codes, JAB codes, and Microsoft's HCCB.

[A non-animated mode-B cimbar code]
How it works

Cimbar encodes data in a grid of symbols (or icons). There are 16 possible symbols per tile (position) on the grid, encoding 4 bits per tile. In addition, 2-3 color bits can be encoded per position on the grid, meaning up to 7 total bits per tile.

4 bit cimbar encoding

There are multiple color schemes:

    "dark" mode -- meant for backlit computer screens, with bright tiles on a black background
    "light" mode -- meant for paper, with dark tiles on a white background

Cimbar was inspired by image hashing. On a per-tile basis, the cimbar decoder compares the tile against a dictionary of 16 expected tiles -- each of which maps to a 4 bit pattern -- and chooses the one with the closest imagehash, as measured by hamming distance. Similarly, the decoder will compare the average color of a tile to a dictionary of (ex: 4) expected colors, and choose the one with the closest color.

Error correction is applied on the resulting bit stream, and the bit stream itself is interleaved across the image -- that is, adjacent tiles do not contain adjacent data -- to tolerate localized errors in a source image.
But, does it really work?

Yes, and I can prove it.

    encoder: https://cimbar.org (uses libcimbar)
    decoder Android app: https://github.com/sz3/cfc/releases/latest

The main constraints cimbar must deal with are:

    all tiles in the tileset must be sufficient hamming distance away from each other, where sufficient is determined by whether the decoder can consistently place blurry or otherwise imperfect tiles in the correct "bucket".
    all colors in the colorset must be far enough away from each other -- currently as a function of RGB value scaling -- such that color bleeding, reflections, and the like, can be overcome.

Cimbar is designed to deal with some lossiness. In practice, the source image should be around 700x700 resolution or greater, in focus, and with some color correction handled by the camera -- as you'll hopefully find in any modern cell phone.

This python cimbar implementation is a research project. It works, but it is slow, and does not handle error cases with much grace. libcimbar, the C++ implementation, has been much more heavily optimized and tested. The target goals of the proof-of-concept were:

    achieve data density on the order of 10kb per image.
    validate a theoretical performance (and if possible, an implemented demonstration) of >= 100kb/s data transfer (800 kilobits/second) from a computer screen to a cell phone, using only animated cimbar codes and the cell phone camera.

I want numbers!

    a mode B (8x8, 4-color, 30/155 ecc, 6-bits-per-tile) cimbar image contains 9300 raw bytes of data, and 7500 bytes with the default error correction level (30)
    for the old mode 8C (8x8, 8-color, 7-bit) cimbar, the respective numbers are 10850 and 8750
    error correction level is N/155. So ecc=30 corresponds to a 30:125 ratio of error correction bytes to "real" bytes.
        error correction is (for now) done via Reed Solomon, which contibutes to the rather large ratio of error correction bytes. See ABOUT for more technical discussion.

I want to try it!

    Encoding:

python -m cimbar.cimbar --encode myinputfile.txt encoded.png

    Decoding:

python -m cimbar.cimbar encoded.png myoutputfile.txt
python -m cimbar.cimbar /tmp/encoded.png -o /tmp/myoutputfile.txt

There are also some utility scripts, such as the one to measure bit errors:

python -m cimbar.cimbar encoded.png -o clean.txt --deskew=0 --ecc=0
python -m cimbar.cimbar camera/001.jpg -o decode.txt --ecc=0
python -m cimbar.grader clean.txt decode.txt
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

7

主题

59

回帖

173

积分

注册会员

Rank: 2

积分
173
发表于 2024-9-20 10:43:05 | 显示全部楼层
hostloc邀请码购买+tg:@Sendtoae86bot
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

展开

QQ|Archiver|手机版|小黑屋|全球灰产交流论坛

GMT+8, 2024-11-2 07:25 , Processed in 0.043595 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表