不知羞耻地赶时髦:-)
受How do I find Waldo with Mathematica和后续的How to find Waldo with R启发,作为一个新的python用户,我很想看看如何做到这一点。似乎python比R更适合这种情况,而且我们不必像Mathematica或Matlab那样担心许可证问题。
在下面这样的例子中,简单地使用条纹显然是行不通的。如果一个简单的基于规则的方法可以用于像这样困难的例子,那将是很有趣的。
我添加了[机器学习]标签,因为我认为正确的答案必须使用ML技术,例如Gregory Klopper在原始线程中提倡的受限Boltzmann机器(RBM)方法。有一些RBM code available in python可能是一个很好的起点,但显然这种方法需要训练数据。
在2009 IEEE International Workshop on MACHINE LEARNING FOR SIGNAL PROCESSING (MLSP 2009)他们运行了Data Analysis Competition: Where's Wally?。训练数据以matlab格式提供。请注意,该网站上的链接已经失效,但是可以找到数据(以及Sean McLoone和同事采用的方法的来源here(请参阅SCM链接)。似乎只有一个起点。
你可以尝试模板匹配,然后取下产生最高相似度的模板,然后使用机器学习来缩小范围。这也很困难,而且由于模板匹配的准确性,它可能只会返回每个人脸或类人脸的图像。我认为如果你希望一直这样做,你需要的不仅仅是机器学习。
也许你应该先把问题分成两个小问题:
这仍然是两个需要解决的大问题。。。
顺便说一句,我会选择c++和open CV,它似乎更适合这个。
这是一个带有mahotas的实现
分成红、绿、蓝三个频道。下面最好使用浮点运算,所以我们在上面转换。
w
是白色通道。在垂直轴上建立+1、+1、-1、-1的图案。这是沃利的衬衫。
用红色减白色卷积。这会给衬衫所在的地方一个强烈的反应。
寻找最大值并将其放大以使其可见。现在,我们调低整个图像,除了区域或兴趣:
我们得到!
相关问题 更多 >
编程相关推荐