2
วิธีการจำการเรียงตัวหกเหลี่ยมในเกมกระดาน?
ฉันต้องการทราบขอบเขตของการเรียงต่อหกเหลี่ยมในภาพถ่ายเหมือนในภาพด้านล่าง: สำหรับฉันแล้วดูเหมือนว่าวิธีการมาตรฐานที่กริดสแควร์คือการตรวจจับมุม (เช่นแสนอร่อย) ก่อนแล้วจึงแยกเส้นที่ยาวที่สุดผ่านการแปลง Houghหรือสิ่งที่คล้ายกัน นี่ไม่ใช่วิธีที่ดีที่สุดในการปูกระเบื้องด้วยเลขฐานสิบหกเนื่องจากความยาวของเส้นด้านนอกสั้นกว่าและเป็นการยากที่จะแยกพวกมันออกจากเส้นอื่น มีอัลกอริธึมที่จะแก้ไขปัญหานี้หรือไม่? มันเป็นเรื่องดีที่จะมีทางออกใน opencv แต่ฉันก็สนใจในความคิดทั่วไป อัปเดต: ด้วย python และ opencv ฉันสามารถรับผลลัพธ์นี้ได้: นี่คือรหัสของฉัน: import cv2 import numpy as np imgOrig = "test1"; img = cv2.imread(imgOrig+".jpg"); lap = cv2.Laplacian(img, cv2.IPL_DEPTH_32F, ksize = 3) imgray = cv2.cvtColor(lap,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,127,255,0) contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE) size = img.shape m …