YUV色彩空间和色度

发布于 2024-11-09 05:35:16 字数 288 浏览 0 评论 0原文

好的。简而言之,假设:

  1. 我有一个单色图像;最初它以 RGB 颜色空间表示。

  2. 我不知道应该按什么顺序执行此操作,但我需要将图像转换为 YUV 空间 (a) 并将其加载到 PictureBox 控件 (b) 中并进行一些颜色涂鸦;

  3. 最后我需要以某种方式学习/知道哪些像素被着色。

    如何在 PictureBox 中加载的图像上绘制线条/点?

有什么想法吗?

Ok. To be short suppose:

  1. I have a monochrome image; And initially it represented in RGB color space.

  2. I don't know in what sequence I shall do this, but I need to convert image to YUV space (a) and load it into PictureBox control (b) and make few color scribbles;

  3. And finally I need to learn/know somehow what pixels were colored.

    And how do I draw lines/dots on loaded image in PictureBox?

Have any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里寻她 2024-11-16 05:35:16

将单色图像从 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 方法来绘制线条。

要绘制像素,请使用 Bitmap 对象的 SetPixel 方法。

Converting a monochrome image from RGB to YUV is very simple:

Y = R
U = 0
V = 0

Y is the luminance, calculated as 0.299 * R + 0.587 * G + 0.114 * B, but as R = G = B for a monochome image, it's the same as (0.299+0.587+0.114) * R which is simply 1 * R.

U is calculated as 0.436 * ((B - Y) / 0.886), but as Y = B it is always zero.

V is calculated as 0.615 * ((R - Y) / 0.701), but as Y = R it is alwaus zero.


To draw lines on a Bitmap object, you use the Graphics.FromImage method to create a Graphics object for it, then use the DrawLine method to draw lines.

To draw pixels, use the SetPixel method of the Bitmap object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文