【问题标题】:Inverting black and white in grayscale image [duplicate]在灰度图像中反转黑白[重复]
【发布时间】:2021-11-10 13:38:02
【问题描述】:

我有一个代码可以保存来自 X 射线传感器的图像。图像是灰度的。但我需要对这张图片进行一些修改。图像是黑色的,我需要它是白色的。

查看原始图像。

这是另一张图片,但这里的细节是白色的,这就是我需要的。

【问题讨论】:

  • 您的问题是什么?代码现在实际上做了什么?这和你想要的有什么不同?请阅读help center 页面,了解如何编写一个将成为本网站主题的好问题。请edit问题补充缺失的信息。
  • 我需要改变颜色,反转黑白。第一张图片来自我正在使用的传感器和我拥有的 SDK。第二个来自其他传感器,但您可以设置黑色和黑色反转。在我看来,图像 1 的背景是黑色的,而图像 2 的背景是白色的。
  • 我不认为只替换是最好的选择。我使用的是 16 位灰度,所以我不只是黑色或白色,我需要“反极性”之类的东西。

标签: c# image-processing


【解决方案1】:

如果您使用的是 8bit 位图图像,这是一个简单的操作

var v = byte.MaxValue - myBitmap.GetPixel(x, y).R;
myBitmap.SetPixel(x,y, Color.FromArgb(v, v, v)

或查看fast work with bitmaps 直接访问像素值。

【讨论】:

  • 我使用的是 16 位位图图像
  • 原理同理,var newValue = ushort.MaxValue - oldValue。但是如果你没有使用内置的图像类,并且不显示任何代码,则很难更具体。
  • 问题是我也无权访问生成图像的代码。我只有 SDK 来获取和连接传感器。所以我正在寻找一些方法来“澄清”灰度
  • @Matheus Candido 您不需要访问生成图像的代码。您确实需要访问实际的图像数据,或 SDK 中的现有方法来执行您需要执行的任何操作。
  • 我可以访问图像的数据。都是短数组,我转换成位图再保存文件。我会试试你发送的链接。
猜你喜欢
  • 1970-01-01
  • 2013-04-21
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多