如果没有实现openCV或调用QR代码的识别API,是否有任何快速可靠的算法来确定图像中QR代码的存在?
本课题的目的是提高用户对QR码扫描的体验。当QR码识别失败时,程序需要知道是否真的存在QR码,以便再次扫描和识别QR码,或者没有QR码,以便程序调用其他过程。
为了响应某些响应,检测程序不需要100%的精确性,而是以合理的概率返回精确的结果。如果我们能在这里使用openCV,可以很容易地实现傅里叶变换来检测图像中是否存在明显的高频,这是QR存在的良好标志。但是openCV的集成将大大增加我的程序的规模,这是我想要避免的。
发布于 2013-09-13 00:13:09
( 1)将图像转换为灰度2)将图像划分为n×m的单元,例如3x3。此过程旨在保证至少一个单元格将被可能的QR码完全覆盖,如果任何3 )对所有单元实现2D Fourier变换。如果在任何一个单元中,在X和Y轴的高频区域都有一个显著的大值,则很可能存在一个QR码。
我处理的是概率问题,而不是百分之百准确的检测。在该算法中,棋盘也将被检测为QR码。
发布于 2013-09-16 17:10:18
这是很好的,你想提供反馈给用户。在查找QR代码时,提供显示用户正在“变暖”的图形可以使查找和读取代码的过程更快、更流畅。
看起来您已经有了答案,但是为了提供更健壮的解决方案和/或选项,您可以尝试以下一种或多种方法:
如果您有图像金字塔的内存,那么处理降低分辨率的图像将是有利的,因为您可以相当快地尝试一些测试。
就用户交互而言,您还可以在预处理期间多次更新“这可能是QR代码”的图形,并使用逐步增强/绿色的图形(或任何适合本地文化的颜色)表示信任程度。例如,如果一个纹理补丁有大约60%的可能性成为QR代码,您可能会显示一个带有虚线边框的淡绿色矩形。对于80% - 90%的可能性,您可能会显示一个更饱和绿色的实心矩形。如果你可以每隔100到200毫秒更新一次图形,那么用户就会有一些想法,比如移动智能手机会有帮助或伤害。
https://stackoverflow.com/questions/18768049
复制相似问题