我的朋友被要求给出一张单色图像,在他被要求在采访中沿着中心y轴镜像图像之前,它是如何保存在字节数组中的。功能签名如下:
void mirrorImage(byte image[], int width, int height){
}
因此,您可以看到签名中已经给出了图像的宽度和高度。我想我可以通过逐行读取来操作图像,保持计数器,每当我的计数器等于宽度时,我知道是时候读下一行了。这是图像与字节数组一起存储的方式吗?我对图像处理或字节数组没有任何经验。谢谢!
编辑: 字节中的每个位代表一个像素。
答案 0 :(得分:3)
由于它是单色的,我假设字节中的每个位代表一个像素。
你的方法很健全。只需确保反转每个字节中的位,以及反转行中的字节。
此外,如果宽度不是8的倍数,则必须将所有字节向左移动余数(width mod 8
),并在左侧向右移动溢出位。行。