[{"data":1,"prerenderedAt":321},["ShallowReactive",2],{"project-2848516":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":41,"post_text":44,"what":45,"said":61,"maker_in_thread":133,"shape":143,"grid":147,"attempts":286,"same_week":287,"maker_shows":34,"maker_hidden":313,"reader_version":314,"card":315},"2848516","My weekend project","Chessboard picture recognition","title","Show HN: My weekend project - Chessboard picture recognition","http:\u002F\u002Fcodebazaar.blogspot.com\u002F2011\u002F08\u002Fchess-board-recognition-project-part-1.html","codebazaar.blogspot.com","matthiasb",1312505988,2011,51,54,240,1097,22,"notable","ai","computer vision","other",[24,25,26,27],"chessboard recognition","image recognition","chess photo","opencv","curious",0.022,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,25,0,1,28,{"idea":37,"execution":38,"design":39,"docs":40},{"positive":33,"critical":33},{"positive":33,"critical":33},{"positive":33,"critical":34},{"positive":34,"critical":33},[42,42,33,33,42,42,42,33,42,42,42,33,42,42,33,42,33,33,42,42,33,42,42,33,42,34,33,33,42,43,33,42,33,43,33,42,33,42,42,33],3,5,null,{"problem":46,"audience":44,"pricing":44,"motivation":53,"time_to_build":44,"stack":58,"openness":59,"stage":60,"team_size":59},{"value":47,"source":48,"evidence":49},"Reading the position of a physical chessboard from a photo so the game can be recorded or continued online","maker",[50],{"id":51,"by":11,"text":52},"2848665","Thanks for leaving a comment. \"It may be easier to just track the game state from the start instead of trying to identify the position of the board at a random snapshot in time.\"…",{"value":54,"source":48,"evidence":55},"Weekend project to explore image processing with chess",[56],{"id":57},"post",[],"unknown","prototype",{"praise":62,"objections":78,"requests":97,"questions":117,"alternatives":118},[63,71],{"value":64,"source":65,"evidence":66},"Good intro project for image processing","commenter",[67],{"id":68,"by":69,"text":70},"2848558","swanson","I don't know anything about \"chess theory\" but are there some squares that only certain pieces can get to? I don't think it's possible for a Knight to ever be on some squares, so…",{"value":72,"source":65,"evidence":73},"Blog links to reference material are helpful",[74],{"id":75,"by":76,"text":77},"2848764","codeswimmer","Very nicely done! Really appreciate the links to your reference material in the blog, saves me (and other noobs) from having to dig around and discover it ourselves. I'll…",[79,90],{"value":80,"source":65,"evidence":81},"Recognizing pieces from a top-down photo is hard",[82,86],{"id":83,"by":84,"text":85},"2848817","awaz","I have worked in machine vision projects in past. It's not going to be easy to recognize the pieces as is; I suggest that you use 2D pieces for chess. Even better, use some…",{"id":87,"by":88,"text":89},"2848588","ebzlo","For figuring out chess pieces, maybe determining the light source and looking for light\u002Fdark patterns in certain areas? The problem is, from top view, even a human would have a…",{"value":91,"source":65,"evidence":92},"Corner-square colour sampling is not reliable",[93],{"id":94,"by":95,"text":96},"2848610","archangel_one","He does say a little further on that he saw one or two errors when pieces of the opposing colour were on those squares. That's not so hard to correct if you've tried to detect…",[98,106],{"value":99,"source":65,"evidence":100},"Use known starting position and track moves instead of recognizing pieces",[101,105],{"id":102,"by":103,"text":104},"2849271","gfodor","It seems like you can avoid having to recognize the pieces altogether if you are taking photos of each move during a match, since they have a known starting position. Edit: what…",{"id":68,"by":69,"text":70},{"value":107,"source":65,"evidence":108},"Use machine learning or SIFT classifiers for pieces",[109,113],{"id":110,"by":111,"text":112},"2848795","Game_Ender","I think your best bet is to feed the the segmented chess board squares into a machine learning algorithm. You would have one which classifies squares as empty or not, and another…",{"id":114,"by":115,"text":116},"2848845","shahan","Don't see the use of this as an app, but fuck the use. If the goal is fun and learning, I think it's worth going all in and do object recognition using, say, SIFT vectors (see…",[],[119,126],{"value":120,"source":65,"evidence":121},"Automated chess boards with magnets that replay games",[122],{"id":123,"by":124,"text":125},"2849787","danohuiginn","Get hold of one of those automated chess boards that move pieces around by magnets under the board. Set it to replay old games, and film or photograph it. That should give you…",{"value":127,"source":65,"evidence":128},"Image2sgf for recognizing Go boards",[129],{"id":130,"by":131,"text":132},"2849688","imurray","Here is a related project on turning an image of a Go board into a computer readable file understood by most GUIs for playing Go:…",{"comments":134,"answered":43,"key":135},15,[136,139,142],{"id":137,"text":138},"2849848","Thanks patio13! OCR and AI actually seem very sexy to me:D If I make a mobile app out of this, I will get my users to take pictures for me! hehe!",{"id":140,"text":141},"2849904","lol. sorry but you get the credit for patio11:D hehe",{"id":51,"text":52},{"commenters":144,"max_depth":145,"maker_replies":134,"first_comment_mins":146,"lifespan_hours":18},33,4,13,[148,150,154,156,159,160,161,164,167,170,173,174,176,179,182,184,187,190,194,196,198,201,204,206,208,211,214,215,217,220,223,225,227,230,233,236,239,241,244,248,251,253,255,259,263,267,269,271,272,274,275,277,280,284],[102,33,42,149,103,33],"project\u002Fneutral\u002Fidea",[151,34,42,152,153,33],"2849505","maker\u002Fneutral\u002Fidea","patio11",[137,34,33,155,11,34],"commenter\u002Fneutral\u002Fnone",[157,34,33,155,158,33],"2849869","patio13",[140,34,33,155,11,34],[68,31,42,149,69,33],[162,31,33,155,163,33],"2848582","wahnfrieden",[165,31,42,149,166,33],"2848589","alttag",[168,31,42,149,169,33],"2848916","tmhedberg",[171,31,33,155,172,33],"2848971","benjoffe",[51,31,33,155,11,34],[175,31,42,149,124,33],"2849756",[177,31,42,149,178,33],"2848671","cjy",[180,31,42,149,181,33],"2849050","orijing",[183,31,33,155,11,34],"2849860",[185,31,33,155,186,33],"2849872","dagw",[188,31,42,149,189,33],"2849243","BasDirks",[191,42,42,192,193,33],"2848570","project\u002Fneutral\u002Fexecution","meatsock",[94,42,33,195,95,33],"commenter\u002Fneutral\u002Fexecution",[197,42,33,195,193,33],"2848635",[199,42,42,192,200,33],"2848611","endtime",[202,42,33,203,11,34],"2848721","other\u002Fneutral\u002Fnone",[205,42,33,195,200,33],"2850907",[207,42,33,192,11,34],"2848648",[209,42,42,192,210,33],"2849231","max99x",[212,42,42,213,124,33],"2849769","project\u002Fneutral\u002Fdesign",[110,145,42,149,111,33],[216,145,33,155,11,34],"2848842",[218,43,42,149,219,33],"2848627","nostromo",[221,43,42,149,222,33],"2848651","duck",[224,43,42,213,178,33],"2848655",[226,43,33,149,11,34],"2848683",[228,43,42,149,229,33],"2848690","shib71",[231,43,42,149,232,33],"2849807","pbhjpbhj",[83,234,34,235,84,33],6,"project\u002Fcritical\u002Fdesign",[237,234,33,238,11,34],"2848831","commenter\u002Fpositive\u002Fnone",[240,234,33,155,115,33],"2848858",[242,234,33,243,84,33],"2848933","commenter\u002Fneutral\u002Fdesign",[245,246,42,149,247,33],"2849397",7,"binarymax",[75,249,43,250,76,33],8,"maker\u002Fpositive\u002Fdocs",[252,249,33,155,11,34],"2848776",[114,254,42,149,115,33],9,[256,257,42,149,258,33],"2849473",10,"vynch",[260,261,33,262,11,34],"2849919",11,"maker\u002Fneutral\u002Fnone",[264,261,43,265,266,33],"2852124","maker\u002Fpositive\u002Fnone","sebinatx",[130,268,33,203,131,33],12,[270,268,33,203,11,34],"2849858",[87,146,42,213,88,33],[273,146,33,149,11,34],"2848654",[123,146,42,149,124,33],[276,146,33,238,11,34],"2849875",[278,146,42,149,279,33],"2848670","rand_r",[281,282,33,203,283,33],"2849814",14,"mitko",[285,282,33,203,11,34],"2849853",[],[288,292,296,301,305,310],{"id":289,"name":5,"points":290,"category":291},"2845450",179,"consumer_social",{"id":293,"name":294,"points":295,"category":291},"2867428","TrackMe",163,{"id":297,"name":298,"points":299,"category":300},"2858412","Macchiato",75,"dev_tools",{"id":302,"name":303,"points":304,"category":291},"2860032","CrossTag.me",23,{"id":306,"name":307,"points":308,"category":309},"2848756","CloudSwag.com",17,"infrastructure",{"id":311,"name":312,"points":282,"category":300},"2860199","Barebones",false,"v2",{"id":316,"name":5,"line":6,"ai":313,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":317,"top":18,"kw":318,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":319,"url":9,"mix":320,"praise":64,"objection":80,"sub":21},2848516,0.02,[24,25,26,27],"3300333033303303003303303100350305030330",[31,32,33,34],1793990874146]