行。简而言之,假设:
我有一张单色图像;最初它以 RGB 颜色空间表示。
我不知道我应该按什么顺序执行此操作,但我需要将图像转换为 YUV 空间 (a) 并将其加载到
PictureBox控件 (b) 并制作一些颜色涂鸦;最后我需要以某种方式学习/知道哪些像素是彩色的。
以及如何在加载的图像上绘制线条/点
PictureBox?
有什么想法吗?
行。简而言之,假设:
我有一张单色图像;最初它以 RGB 颜色空间表示。
我不知道我应该按什么顺序执行此操作,但我需要将图像转换为 YUV 空间 (a) 并将其加载到PictureBox控件 (b) 并制作一些颜色涂鸦;
最后我需要以某种方式学习/知道哪些像素是彩色的。
以及如何在加载的图像上绘制线条/点PictureBox?
有什么想法吗?
将单色图像从 RGB 转换为 YUV 非常简单:
Y = R
U = 0
V = 0
Y 是亮度,计算为0.299 * R + 0.587 * G + 0.114 * B,但对于单色图像,R = G = B 与(0.299+0.587+0.114) * R简单的 相同1 * R。
U 计算为0.436 * ((B - Y) / 0.886),但由于 Y = B 它始终为零。
V 计算为0.615 * ((R - Y) / 0.701),但当 Y = R 时,它始终为零。
要在Bitmap对象上画线,您可以使用Graphics.FromImage方法为其创建Graphics对象,然后使用DrawLine方法绘制线。
要绘制像素,请使用对象的SetPixel方法Bitmap。