Image processing 在图像中查找网格
有一个match-3游戏截图(例如),找到网格绑定框(带瓷砖的表格)的正确方法是什么?电路板不必是一个完美的矩形(如屏幕截图所示),但每个单元都是完全正方形的 我试过几个游戏,发现可以进行一些游戏图像转换来增强网格内的瓷砖(例如,在这个游戏中,它足以将V通道从HSV颜色空间中移除)。然后我可以放大瓷砖,使它们重叠,找到图像的最大轮廓,并从中得到绑定框 上述方法的问题是,每个游戏(甚至同一游戏中的关卡)都可能需要不同的转换来获得瓷砖。所以问题是-是否有一种标准的方法来增强网格内的瓷砖或网格线(我尝试过使用Hough变换查找线,但是,尽管网格看起来非常直观,但Hough没有找到)Image processing 在图像中查找网格,image-processing,opencv,pattern-recognition,Image Processing,Opencv,Pattern Recognition,有一个match-3游戏截图(例如),找到网格绑定框(带瓷砖的表格)的正确方法是什么?电路板不必是一个完美的矩形(如屏幕截图所示),但每个单元都是完全正方形的 我试过几个游戏,发现可以进行一些游戏图像转换来增强网格内的瓷砖(例如,在这个游戏中,它足以将V通道从HSV颜色空间中移除)。然后我可以放大瓷砖,使它们重叠,找到图像的最大轮廓,并从中得到绑定框 上述方法的问题是,每个游戏(甚至同一游戏中的关卡)都可能需要不同的转换来获得瓷砖。所以问题是-是否有一种标准的方法来增强网格内的瓷砖或网格线(我尝
另外,如果屏幕截图是用手机摄像头而不是桌面截图获得的呢?根据我的经验,拍摄的图像颜色不太清晰(这取决于光线),也可能会有一点失真,因为无法将手机准确地放在屏幕前面。我将采用以下方法进行屏幕截图:
我使用cv::HoughLinesP查找线条,或者有太多的线条可供选择(它们可以覆盖大部分图像),或者网格上的线找不到。使用Canny和HoughLinesP的参数,我可以减少误报的数量,但这些参数显然对其他游戏没有好处。我没有关于棋盘上瓷砖大小或数量的信息,因此没有简单的方法消除这些线。而且,我有我不认为我完全理解第四步。关于第四步:如果你对canny图像进行hough线变换,你可能会得到比你正在搜索的瓷砖之间的实际边界长的线。找到瓷砖实际范围的一种方法是沿着找到的hough线搜索canny的响应边缘检测器。