{"id":311,"date":"2009-09-07T20:37:43","date_gmt":"2009-09-08T03:37:43","guid":{"rendered":"https:\/\/mathpirate.net\/log\/?p=311"},"modified":"2009-09-08T00:23:28","modified_gmt":"2009-09-08T07:23:28","slug":"about-the-tv-screen","status":"publish","type":"post","link":"https:\/\/mathpirate.net\/log\/2009\/09\/07\/about-the-tv-screen\/","title":{"rendered":"About the TV Screen"},"content":{"rendered":"<p>Trying to use a real TV screen will pose a couple of problems.\u00c2\u00a0 First, I have to find the TV screen in the image.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0Then, once I have the TV screen, I&#8217;ll have to do something about the distortion.\u00c2\u00a0 There will be two types of distortion.\u00c2\u00a0 First is perspective distortion, since I can&#8217;t assume that the camera is facing the TV screen head on.\u00c2\u00a0 Then, of course, since this is a typical CRT TV, there&#8217;s the curve of the screen to take into account.<\/p>\n<p>I&#8217;m going to rely heavily on user input to calibrate the display.\u00c2\u00a0 My idea is that the user will have to click several points on the video image that correspond to points on the playfield.\u00c2\u00a0 Then, hopefully, I&#8217;ll be able to fix the distortion in the image and have a playfield image that&#8217;s nice and square to use.<\/p>\n<p>It will look something like this:<\/p>\n<p><a href=\"https:\/\/mathpirate.net\/log\/wp-content\/uploads\/2009\/09\/CameraCalibration.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-312\" title=\"CameraCalibration\" src=\"https:\/\/mathpirate.net\/log\/wp-content\/uploads\/2009\/09\/CameraCalibration-300x126.jpg\" alt=\"CameraCalibration\" width=\"300\" height=\"126\" srcset=\"https:\/\/mathpirate.net\/log\/wp-content\/uploads\/2009\/09\/CameraCalibration-300x126.jpg 300w, https:\/\/mathpirate.net\/log\/wp-content\/uploads\/2009\/09\/CameraCalibration.jpg 678w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>There.\u00c2\u00a0 Wasn&#8217;t that simple?<\/p>\n<p>Of course, it would be totally awesome if I could simply feed it an image of what I expect to see, then have it find that image in the video and undistort everything for me.\u00c2\u00a0 However, I haven&#8217;t quite read that chapter yet&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Trying to use a real TV screen will pose a couple of problems.\u00c2\u00a0 First, I have to find the TV screen in the image.\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0Then, once I have the TV screen, I&#8217;ll have to do something about the distortion.\u00c2\u00a0 There will be two types of distortion.\u00c2\u00a0 First is perspective distortion, since I can&#8217;t assume that the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[24],"tags":[15,16],"_links":{"self":[{"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/posts\/311"}],"collection":[{"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/comments?post=311"}],"version-history":[{"count":3,"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/posts\/311\/revisions"}],"predecessor-version":[{"id":329,"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/posts\/311\/revisions\/329"}],"wp:attachment":[{"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/media?parent=311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/categories?post=311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mathpirate.net\/log\/wp-json\/wp\/v2\/tags?post=311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}