行。简而言之,假设:
我有一张单色图像;最初它以 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
。