图像数据源处理:从像素操作到深度可视化
1. 图像像素数据操作
在处理图像数据时,若想对其进行操作,将图像数据以字节数组形式获取会很有帮助。以一个简单的图像滤镜为例,每个像素都有三个颜色通道:蓝色、绿色和红色,每个通道有8位强度,即256种不同值。我们要创建一个滤镜,隐藏图像的绿色和蓝色通道,也就是将它们的强度设为0。
以下是具体代码实现:
// MainPage.xaml.cs ColorFrameReader Event Handler Manipulating Color Data Byte Array Values
...
colorFrame.CopyConvertedFrameDataToArray(this.colorPixels, ColorImageFormat.Bgra);
}
for (uint i = 0; i < colorPixels.Length; i += bytesPerPixel)
{
colorPixels[i] = 0x00;
colorPixels[i + 1] = 0x00;
}
Stream pixelStream = colorBitmap.PixelBuffer.AsStream();
...
在上述代码中, for 循环遍历图像中的每个像素,将前两个通道(蓝色和绿色)的强度设为0。由于数组索引存储的是字节,每个像素有4个字节,所以以 bytesPerPixel (值为4)为步长进行迭代。编译程序后,图像将只显示红色。
不过,这种图
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



