我知道Stack Overflow是一个人口稠密的地方,所以我会尽量简短。我是一名业余程序员,在编码领域的一小部分工作。我在外面的经历非常有限。
我的难题是:我有一个1位2D矩阵,该矩阵由用来表示屏幕上开/关像素的任意数据组成。考虑一个想象力的例子:
11110111101111111100
10111111111111111111
11011111111111011111
11111010111111111111
11111111011111111111
11111111111100011111
11111011011110001101
就我的确切目的而言,这确实是一个糟糕的例子,但这确实可以解决问题。作为程序员,我研究了数据的图像矩阵,并考虑了无损压缩方法,也许将其压缩为较小的一维矩阵。我意识到定义“开”像素的元素的大部分(这种区别相当随意,“开”像素的显示“关闭”以创建图像的显示与“关”像素的显示“开启”相同)以创建相同的图像)可以被人的眼睛识别为“像素”上的实心矩形。考虑:
11110111101111111100
10111111111111111111
11011111111111011111
xxxxx010111111111111
xxxxx111011111111111
xxxxx111111100011111
xxxxx011011110001101
存储定义“上”个像素元素的矩形截面的矩形坐标(然后将这些坐标顺序存储在1D数组中)似乎是解决此问题的最佳方法,以便稍后重新绘制同一图像,我可能只扫描生成的一维数组并绘制所有矩形。
我的问题是:是否存在执行这种特定类型转换的方法或算法,并且效率最高?为此,考虑布雷森汉姆的Line算法,该算法可以说是最有效的。它做什么,还有很多其他算法。
我无知于无知,我想假设存在许多类似的小算法挑战,这些挑战是几十年前由疯狂的计算机科学家解决的,如今他们被磁带和真空管包围着。我经常遇到许多类似的算法障碍,这就是事实,也就是说,它们是在我之前就解决的。
答案 0 :(得分:0)
图像压缩从来都不是精确的。压缩级别在很大程度上取决于图像本身。因此,即使您巧妙地“发现”了一种新算法,该算法有时也会成功,而在其他时候却做得不好。
这是由于每张图片的性质中存在一些随机因素所致。
有一个旧的但仍然有效的网站,其值信息为:CFAQ
关于您的“矩形”算法,有一点需要解决:PCIF algorithm