使用C#为字典中的一个键添加多个位图值
发布时间:2020-12-15 17:25:03 所属栏目:百科 来源:网络整理
导读:我有一个字典存储模式图像用于OCR目的.我从字典中抓取这些位图并将其与我从图像裁剪的位图进行比较,如果它们匹配=抓住钥匙(OCR部分完成). 问题出现在这里.一个密钥应由几个不同的位图(即值)表示.如何将多个位图添加到字典中,以表示相同的键? 这就是我使用字
我有一个字典存储模式图像用于OCR目的.我从字典中抓取这些位图并将其与我从图像裁剪的位图进行比较,如果它们匹配=>抓住钥匙(OCR部分完成).
问题出现在这里.一个密钥应由几个不同的位图(即值)表示.如何将多个位图添加到字典中,以表示相同的键? 这就是我使用字典的方式: Dictionary<string,Bitmap> lookup = new Dictionary<string,Bitmap>(); lookup.Add("A",new Bitmap(@"C: 8letters1a1.bmp",true)); lookup.Add("A",new Bitmap(@"C: 8letters1a2.bmp",true)); // Error will be here,because key A already exists for one Bitmap value. lookup.Add("a",new Bitmap(@"C: 8letters1aa1.bmp",true)); lookup.Add("B",new Bitmap(@"C: 8letters1b1.bmp",true)); 现在,抓住图像和价值,我做了以下: 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)”,但从未使用过它.这个“查找”会帮助我解决我的问题,还是一个完全不同的工具?谷歌也不太了解它,所以欢迎一个例子 请注意,我在程序启动时只加载一次字典,所以加入的速度并不重要. 无论如何,我将采取一些措施来测试下面建议的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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |