gpt4 book ai didi

c# - 使用 C# 为字典中的一个键添加多个位图值

转载 作者:行者123 更新时间:2023-11-30 12:33:04 25 4
gpt4 key购买 nike

我有一本字典来存储用于 OCR 目的的图案图像。我从字典中抓取这些位图并与我从图像中裁剪的位图进行比较,如果它们匹配 => 抓取 key (OCR 部分已完成)。

问题就出现在这里。一个 Key 应该由几个不同的位图(即值)表示。 如何将多个位图添加到字典中以表示相同的键?

这就是我使用字典的方式:

    Dictionary<string, Bitmap> lookup = new Dictionary<string, Bitmap>();
lookup.Add("A", new Bitmap(@"C:\08\letters\1\a1.bmp", true));
lookup.Add("A", new Bitmap(@"C:\08\letters\1\a2.bmp", true)); // Error will be here, because key A already exists for one Bitmap value.
lookup.Add("a", new Bitmap(@"C:\08\letters\1\aa1.bmp", true));
lookup.Add("B", new Bitmap(@"C:\08\letters\1\b1.bmp", true));

现在,为了抓取图像和值(value),我做了以下操作:

var target = lookup.ToList();
bitmap b1 = target[j].Value; //grab value
//if value = cropped bitmap => proceed
string key = target[j].Key; //grab key

根据您的解决方案,此过程将如何变化?

附言我听说过“System.Linq.Lookup(Of TKey, TElement)”,但以前从未使用过。这个“查找”会帮助我解决我的问题还是它是一个完全不同的工具?谷歌对此也不太了解,所以欢迎举个例子

请注意,我只在程序启动时加载一次字典,因此添加速度有多快并不重要。查找,另一方面是最困扰我的。我的两个词典中有 120 个元素,根据这篇文章 http://www.dotnetperls.com/dictionary-time - 在列表中查找比在字典中查找要慢得多。

无论如何,我将采取一些措施来测试下面建议的 List 解决方案与我现在拥有的 Dictionary 解决方案相比如何,稍后可能会在今天晚上告诉结果。

最佳答案

Lookup 。它基本上是键到值列表的字典,而不是键到值。

lookup.Add("a", "123"); // creates 'a' key and adds '123' to it
lookup.Add("a", "456"); // adds '456' to existing 'a' key
lookup.Add("b", "000"); // creates 'b' key and adds '000' to it

关于c# - 使用 C# 为字典中的一个键添加多个位图值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9963706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com