【发布时间】:2021-11-25 20:16:12
【问题描述】:
对于我当前的项目,我正在尝试创建图像中像素强度的直方图,在使用二值图像时,峰值应该只有 0 和 255,但是我得到的是某种长条,它不是我要找的。我认为这与图表中的设置有关,因为当我使用常规图像而不是二进制图像时,我会得到正确的直方图。 示例图片:
当我输出所有点时,我得到以下信息:
{X=0, Y={51329, 0}} {X=255, Y={210815, 0}}
我不知道这些其他点是从哪里来的。
感谢任何帮助/提示。 亲切的问候。
【问题讨论】:
-
我想要一个附带的代码顺序;)
-
@500-InternalServerError foreach (KeyValuePair
test in dict) { this.chart1.Series["Bytes"].Points.AddXY(test.Key, test.Value);这是我正在使用的所有代码,dict 是一个字典,其作为键字节值 0-255 当然只有图片中存在的那些,value 是图像中此值的频率。 -
然后我们需要看看你是如何从图像中填充字典的。如果您在问题中发布完整的重现,这对每个人都更好。
-
@500-InternalServerError 我知道问题不在于我获取字典数据的方式,因为我将其写入控制台并发现字典中的唯一值都是(0 ,频率)和(255,频率)。我只是不明白为什么图表使这两个点从 0 - 100 和 155-255 交叉。只是想知道这是否是由 WinForms 中的图表工具中的某些设置引起的。
-
请提供足够的代码,以便其他人更好地理解或重现问题。
标签: c# winforms image-processing histogram