python - 比较功能有问题,我认为它没有正确读取所有样本。有小费吗?
问题描述
我在图像识别方面非常菜鸟,但一直在关注 sendtex 的视频系列。该程序一直运行到视频 9/10,其中构建了一个函数来将样本图像与正在评估的图像进行比较。这是视频-> https://www.youtube.com/watch?v=ry9AzwTMwJQ
我认为问题可能出在“whatNumIsThis”函数中。我测试了视频中 15:53 显示的计数器工具,计数器工作正常。将变量“matchedAr”附加到变量“currentNum”可能是一个问题。或者该函数中的另一个变量有问题,我测试了其他函数,只是在每一步都打印结果并且它们工作正常。
def whatNumIsThis(filePath):
matchedAr = []
loadExamps = open('numArEx.txt','r').read()
loadExamps = loadExamps.split('\n')
i = Image.open(filePath)
iar = np.array(i)
iarl = iar.tolist()
inQuestion = str(iarl)
for eachExample in loadExamps:
if len(eachExample) > 3:
splitEx = eachExample.split('::')
currentNum = splitEx[0]
currentAr = splitEx[1]
eachPixEx = currentAr.split('],')
eachPixInQ = inQuestion.split('],')
x = 0
while x < len(eachPixEx):
if eachPixEx[x] == eachPixInQ[x]:
matchedAr.append(int(currentNum))
x += 1
print (matchedAr)
x = Counter(matchedAr)
print (x)
没有错误消息,而是返回一个 1 的计数器,如下所示 -
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
Counter({1: 100})
我检查了 numArEx.txt 文件,它包含所有应有的样本,而不仅仅是数字“1”的样本。我希望它返回所有可用数字实例的计数,而不仅仅是“1”。不知道该怎么办。
解决方案
推荐阅读
- appcelerator - Appcelerator 看不到设备是 iPad 吗?发生了什么?
- python - 如何以编程方式运行/调用烧瓶 cli 命令?
- angular - PrimeNG 复选框默认不被选中
- macros - 如何使来自外部 crate 的宏中的 Rust 警告静音?
- excel - 集中维护excel公式
- graph - Spring Data ArangoDB 直接使用注解获取父级
- azure - GetTwinAsync() 抛出序列化转换异常-> DatetimeOffset
- jquery - 根据 2 个属性查找元素
- node.js - Google AppEngine 每 10 分钟启动一次应用程序
- android - 如何在意图“Intent.EXTRA_ALLOW_MULTIPLE”上设置最大文件选择计数。用户最多可以选择一定的限制?