我正在尝试实现名为任意类型图像的图像签名的文件,但我很难理解它们在这一段中的含义:
对于图像的每一列,我们计算该列相邻像素之间差值的绝对值之和。我们计算所有列的总数,并在5%和95%的列中裁剪图像,也就是说,这些列使得5%的差异之和位于裁剪图像的两边。我们以同样的方式裁剪图像的行(使用原始未裁剪行的和)。
首先,它们所说的“该列相邻像素之间差的绝对值之和”是什么意思?如果从左上角像素开始向下工作(下一列),我们可以计算(0,0)和(0,1)之间的差异,但是下一个像素呢?我是否应该仅用下面的像素,或者两边的像素,甚至是4或8个邻居来计算差值呢?
然后,据我所知,我们对每一列的这些差异进行求和,从而使每一列减少为一个数字?
然后我们使用这些信息裁剪照片的左右边缘,对吗?
发布于 2013-05-21 03:00:42
我没看过你的链接但从你的问题..。
“该列相邻像素之间差的绝对值之和”:
sum = abs(pix1 - pix2) + abs(pix2 - pix3) + ...
对于列中的像素1和2,然后是2和3,执行此计算,依此类推。对每一列都这样做。然后将所有列和在一起。
开始一个新和,从左边添加列和。一旦新的总和超过0.05 * sum_of_all_columns,您就已经通过了5%的阈值,并且知道在左侧裁剪哪一列。在右边做同样的事情,朝相反的方向走。
基本上,他们寻找的是自动裁剪边缘的图像,没有有趣的特点。
https://softwareengineering.stackexchange.com/questions/198830
复制相似问题