回答
如果输入图像是灰度,那么只有1个通道,现在大多数图像都是彩色的。如果文件是灰度,那么只有1个通道。
这里有一些简单的尝试。对于灰度级,您可以对每行像素进行平均以获得单个灰度值,然后生成行平均值的直方图,同时对每个列值进行平均并生成该直方图。
通过简单的结果。如果你有3个文件,
其中一个左半边黑色和右半边白色。
一个具有顶部黑色和底部白色
一个具有黑色和白色正方形的棋盘。
标准直方图将显示50%的黑色像素和50%的白色。
水平直方图会显示左/右和棋盘称为具有全部50%灰色,而顶部/机器人将具有50%的黑色& 50%白色
甲垂直直方图将显示前/ BOT和棋盘全部为50%灰色,而左/右则显示50%黑色和50%白色。
所以,虽然所有3个文件将具有相同的基本直方图,它们将由水平直方图唯一。
水平直方图是低分辨率,因为它们是平均值,所以您仍然需要完整的历史曲线来进行主要识别。
当然你也可以想出除水平和垂直以外的其他平均值。
对行进行平均只会导致更多的“直方图冲突”,即具有相同直方图的不同图像。 – mmgp 2013-02-13 20:51:47
3个直方图一起使用时不适用。标准直方图仍然是唯一性的主要来源。只有当多幅图像的第一级直方图相似时,第二级图像才能用于区分。这将像第一个直方图是一个名称,如“约翰史密斯”和次要直方图是身高和体重。因此,与多个约翰史密斯约翰史密斯之一是5'10“和180磅,而第二个约翰史密斯是6'1”和380磅。 – 2013-02-13 21:29:44
计算机视觉中的一个标准程序是使用直方图金字塔来保留一些否则会丢失的空间信息。 [Here](http://www.robots.ox.ac.uk/~vgg/research/caltech/phog.html)是一个使用渐变而不是灰度值的例子。但他的想法仍然适用。 – sietschie 2013-02-14 08:55:26
- 1. 具有相同的图像
- 2. 如何让许多图像具有相同的悬停图像
- 3. 我们如何检测具有相同背景的图像边缘?
- 4. 我们如何使用具有不同分区功能的相同分区模式?
- 5. HTML:具有相同宽度的图像
- 6. 两个matplotlib/pyplot直方图具有相同的轴或在同一个图上
- 7. matlab直方图具有相同的x轴,但箱数合理
- 8. 从3个不同的直方图创建图像直方图
- 9. 复制图像的锚标记具有相同的图像SRC
- 10. 两个具有相同图像
- 11. Matplotlib:如何使两个直方图具有相同的bin宽度?
- 12. 我们如何区分图像滤镜效果?
- 13. 区分线程,即使它们具有相同的名称
- 14. 我们如何将pdf转换为相同分辨率的图像?
- 15. 剪切1大图像分成小图像具有相同的大小
- 16. 如何创建具有不同容器宽度的直方图
- 17. 如何绘制图像的直方图?
- 18. 如何保存直方图的图像?
- 19. 如何在RegionManager.RequestNavigate调用中区分具有相同名称的2个视图?
- 20. 如何区分两个具有对象坐标的图像?
- 21. 垂直对齐图像中的分区
- 22. 如何检查两个PictureBox是否具有相同的图像?
- 23. 如何遍历每个图像具有相同的类名?
- 24. 如何使图像具有相同的尺寸?
- 25. 如何强制肖像图像具有与横向图像相同的尺寸并且具有响应性?
- 26. 图像直方图
- 27. 小工具:区分具有相同ID的视图上的点击
- 28. 如何制作具有多个直方图的图表
- 29. 如何删除具有相同相册ID的所有图像文件?
- 30. batchWriteItem具有相同分区键
显而易见的答案是,你不应该通过直方图比较图像。单纯依靠直方图时,这是一个已知问题。还有很多其他方法可以比较图像,如果您包含一些您正在尝试比较的示例图像,则可能会出现更多相关的建议/答案。 – mmgp 2013-02-13 15:11:07
如何比较图像? – thang 2013-02-13 15:28:21
直方图通常会查看图像,因为它是黑色和白色。您可以尝试各个通道的直方图,以便获得红色直方图,绿色直方图和蓝色直方图并进行比较。 另一种技术是从另一个图像中减去一个图像,然后对结果图像进行直方图分析。该直方图将测量图像的差异。 – 2013-02-13 17:31:40