

{"id":116403,"date":"2024-08-03T18:00:00","date_gmt":"2024-08-03T12:30:00","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=116403"},"modified":"2026-06-01T12:21:48","modified_gmt":"2026-06-01T06:51:48","slug":"opencv-chromes-dinosaur-game","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/","title":{"rendered":"Python OpenCV Project &#8211; Chrome\u2019s Dinosaur Game"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:2528,&quot;href&quot;:&quot;https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1sVUwyRr5z6MCPmmqqZfSwYfLRj6ihown\\\/view?usp=drive_link&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20260601065013\\\/https:\\\/\\\/drive.google.com\\\/file\\\/d\\\/1sVUwyRr5z6MCPmmqqZfSwYfLRj6ihown\\\/view?usp=drive_link&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-06-02 06:45:41&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-02 06:45:41&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>Chrome&#8217;s Dinosaur Game is a fun game that many people play when they don&#8217;t have the internet. However, playing with a keyboard can get boring after a while. That&#8217;s where OpenCV comes in.<\/p>\n<p>OpenCV is a technology that can be used to create a special way of controlling the game using your hand movements. So, instead of using the keyboard, you can use your hands to make the dinosaur jump over obstacles and avoid enemies. This makes the game much more interesting and fun to play.<\/p>\n<p>In this project, we&#8217;ll talk about how to control the game using OpenCV and how it can make the game even better.<\/p>\n<h2>MediaPipe<\/h2>\n<p>Mediapipe is a free tool created by Google that helps developers create cool games quickly. One fun game they can make with Mediapipe is the Chrome Dinosaur Game, where you control a dinosaur and jump over obstacles. With Mediapipe, you can use hand movements to control the game instead of buttons. To do this, you train a computer program to recognize different hand movements and then use them to control the game.<\/p>\n<p>For example, you can raise your five fingers to make the dinosaur jump. This makes the game more interactive and exciting for players.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/MediaPipe.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-131995 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/MediaPipe.webp\" alt=\"mediapipe\" width=\"1999\" height=\"694\" \/><\/a><\/p>\n<h3>Pyautogui<\/h3>\n<p>PyAutoGUI is a Python library that allows users to automate repetitive tasks on their computer, such as keyboard and mouse movements. It&#8217;s easy to use and compatible with different platforms. It can help improve productivity but should be used responsibly.<\/p>\n<h3>Gesture Recognition<\/h3>\n<p>Gesture recognition for Chrome&#8217;s dinosaur game using OpenCV is a cool technology that lets you control the game using hand movements. OpenCV uses a camera to detect your hand gestures and translates them into game commands, like jumping or ducking. This makes gaming more fun and interactive. The same technology can also be used in medicine and industry to help people with disabilities or control machines and robots. Overall, it&#8217;s an exciting development with many potential applications.<\/p>\n<h3>Prerequisites For Chrome&#8217;s Dinosaur Game Using Python OpenCV<\/h3>\n<p>It is important to have a solid understanding of the Python programming language and the OpenCV library. Apart from this, you should have the following system requirements.<\/p>\n<ul>\n<li>Python 3.7 (64-bit) and above<\/li>\n<li>Any Python editor (VS code, Pycharm)<\/li>\n<\/ul>\n<h3>Download Python OpenCV Chrome&#8217;s Dinosaur Game Project<\/h3>\n<p>Please download the source code of Python OpenCV Chrome&#8217;s Dinosaur Game Project: <a href=\"https:\/\/drive.google.com\/file\/d\/1sVUwyRr5z6MCPmmqqZfSwYfLRj6ihown\/view?usp=drive_link\"><strong>Python OpenCV Chrome&#8217;s Dinosaur Game Project Code.<\/strong><\/a><\/p>\n<h3>Installation<\/h3>\n<p><strong>Open Windows cmd as administrator<\/strong><\/p>\n<p>1. To install the opencv library, run the command from the cmd.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">pip install opencv-python<\/pre>\n<p>2. To install the media pipe library, run the command from the cmd.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">pip install mediapipe<\/pre>\n<p>3. To install the pyautogui library, run the command from the cmd.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">pip install pyautogui<\/pre>\n<h3>Let\u2019s Implement<\/h3>\n<p><strong>To implement this, follow the below steps.<\/strong><\/p>\n<p>1. We need to import some libraries that will be used in our implementation.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\r\nimport mediapipe as mp\r\nfrom tensorflow.keras.models import load_model\r\nimport pyautogui<\/pre>\n<p>2. This Python code uses the MediaPipe library to detect and visually represent one hand in an image or video. The code only recognizes hands with a confidence level of 70% or higher and makes use of MediaPipe&#8217;s drawing module to illustrate the detected landmarks on the image.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">mpHands = mp.solutions.hands\r\nhands = mpHands.Hands(max_num_hands=1, min_detection_confidence=0.7)\r\nmpDraw = mp.solutions.drawing_utils<\/pre>\n<p>3. It opens the integrated camera.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cap = cv2.VideoCapture(0)<\/pre>\n<p>4. Start the while loop.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">while True:<\/pre>\n<p>5. cap.read() function returns two values, first is stored in \u2018ret\u2019 which is a boolean value The function cap.read() reads the frame and returns two values: ret (a boolean indicating if the frame was successfully read) and frame (an array of pixel values in the captured frame). These values can be used to process or display the image<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ret, frame = cap.read()<\/pre>\n<p>6. This code determines the frame&#8217;s dimensions and assigns the values to x, y, and c variables, where x represents the height, y represents the width, and c represents the number of color channels. This information is crucial for image processing tasks like object detection or image segmentation.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">x, y, c = frame.shape<\/pre>\n<p>7. This code flips and mirrors the input frame horizontally and changes its color space to RGB. It saves the modified frame in a variable called image, which can be used for further processing.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">frame = cv2.flip(frame, 1)\r\nframergb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)<\/pre>\n<p><strong>Output of this step<\/strong><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/horizontally-and-changes-colour.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-131996 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/horizontally-and-changes-colour.webp\" alt=\"horizontally and changes colour\" width=\"1920\" height=\"1080\" \/><\/a><\/p>\n<p>8. This code uses MediaPipe to detect hands and stores the results in a variable called &#8220;result&#8221;. It also initializes a &#8220;num_fingers&#8221; variable to count the number of fingers in a hand gesture. This is important for applications that require hand gesture recognition.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">result = hands.process(framergb)\r\nnum_fingers = 0<\/pre>\n<p>9. This if statement is used to check if the &#8220;result&#8221; variable has any detected hand landmarks. If the condition is true, an empty list called &#8220;landmarks&#8221; is created to store the coordinates of these landmarks.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">if result.multi_hand_landmarks:\r\n        landmarks = []<\/pre>\n<p>10. This code starts a loop that goes through each hand detected in the input frame by MediaPipe&#8217;s hand detection model.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">for handslms in result.multi_hand_landmarks<\/pre>\n<p><strong>Note:- This for loop starts under the 9th step if block.<\/strong><\/p>\n<p>11. This code uses the width and height of the input frame to calculate the exact position of each detected landmark point, which is stored in a list called &#8220;landmarks&#8221;. The int() function is applied to convert the floating-point values to integers for compatibility with other functions.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">lmx = int(lm.x * x)\r\n lmy = int(lm.y * y)\r\n landmarks.append([lmx, lmy])<\/pre>\n<p>12. In this code, the mpDraw module is utilized to draw the detected hand landmarks and connections on the input frame. It takes the landmarks detected by the MediaPipe hand detection model and creates a shape of the hand by connecting them with lines. The outcome of the code is an image that displays the detected hand with dots representing the landmarks and lines connecting them.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">mpDraw.draw_landmarks(frame, handslms, mpHands.HAND_CONNECTIONS)<\/pre>\n<p>13. This code checks if any hand landmarks were detected by checking the length of the &#8220;landmarks&#8221; list. If landmarks are present, it checks the position of specific landmarks to determine the number of extended fingers and increments the &#8220;num_fingers&#8221; variable accordingly.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">if len(landmarks) &gt; 0:\r\n                if landmarks[4][0] &lt; landmarks[3][0]:\r\n                    num_fingers += 1\r\n                if landmarks[8][1] &lt; landmarks[6][1]:\r\n                    num_fingers += 1\r\n                if landmarks[12][1] &lt; landmarks[10][1]:\r\n                    num_fingers += 1\r\n                if landmarks[16][1] &lt; landmarks[14][1]:\r\n                    num_fingers += 1\r\n                if landmarks[20][1] &lt; landmarks[18][1]:\r\n                    num_fingers += 1<\/pre>\n<p>14. This code block checks the number of fingers in a hand gesture and controls the Chrome Dinosaur Game character accordingly. If the hand has one to four fingers, the character stops jumping and goes without jumping and &#8220;Go&#8221; is displayed on the screen. If the hand has five fingers, the character jumps, and &#8220;Jump&#8221; is displayed on the screen. If the hand has no fingers or any other number of fingers, the character stops jumping, and &#8220;Go&#8221; is displayed on the screen. The PyAutoGUI library is used to mimic keypress and key release events.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">if num_fingers == 1:\r\n                pyautogui.keyUp(\"space\")\r\n            elif num_fingers == 2:\r\n                pyautogui.keyUp(\"space\")\r\n            elif num_fingers == 3:\r\n                pyautogui.keyUp(\"space\")\r\n            elif num_fingers == 4:\r\n                pyautogui.keyUp(\"space\")\r\n            elif num_fingers == 5:\r\n                cv2.putText(frame, \"Jump\", (10, 50), cv2.FONT_HERSHEY_SIMPLEX, \r\n                  1, (0,0,255), 2, cv2.LINE_AA)\r\n                pyautogui.keyDown(\"space\")\r\n            else:\r\n                cv2.putText(frame, \"Go\", (10, 50), cv2.FONT_HERSHEY_SIMPLEX, \r\n                  1, (0,0,255), 2, cv2.LINE_AA)\r\n                pyautogui.keyUp(\"space\")<\/pre>\n<p><strong>Note:- Steps 11-14 must be written under step 10th for loop<\/strong><\/p>\n<p>15. This code displays the output frame with landmarks and text using the imshow method of the cv2 library. It also waits for the user to press the &#8216;q&#8217; key to exit the program using the waitKey method with a parameter of 1.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cv2.imshow(\"DataFlair\", frame) \r\n\r\n    if cv2.waitKey(1) == ord('q'):\r\n        break<\/pre>\n<p><strong>Note:- Steps 5-15 must be written under the while loop.<\/strong><\/p>\n<p>16. cap.release() frees the resources used to capture the video or camera stream, allowing them to be used by other applications. cv2.destroyAllWindows() closes all OpenCV windows, freeing system resources and ensuring the program ends cleanly.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cap.release()\r\ncv2.destroyAllWindows()<\/pre>\n<h3>Python OpenCV Chrome&#8217;s Dinosaur Game Output<\/h3>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-using-opencv-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-131997 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-using-opencv-output.webp\" alt=\"chrome's dinosaur game using opencv output\" width=\"1920\" height=\"1080\" \/><\/a><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-using-opencv.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-131998 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-using-opencv.webp\" alt=\"chrome's dinosaur game using opencv\" width=\"1920\" height=\"1080\" \/><\/a><\/p>\n<h3>Python OpenCV Chrome&#8217;s Dinosaur Game Video Output<\/h3>\n<h3><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/opencv-chromes-dinosaur-game-video-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-132712 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/opencv-chromes-dinosaur-game-video-output.webp\" alt=\"opencv chromes dinosaur game video output\" width=\"600\" height=\"338\" \/><\/a><\/h3>\n<h3>Conclusion<\/h3>\n<p>To sum up, using OpenCV technology to control Chrome&#8217;s Dinosaur Game with hand gestures makes it even more fun and engaging. It also has potential for other uses like medical procedures and robotics. As technology keeps advancing, we can look forward to even more creative ways to use OpenCV in the future.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chrome&#8217;s Dinosaur Game is a fun game that many people play when they don&#8217;t have the internet. However, playing with a keyboard can get boring after a while. That&#8217;s where OpenCV comes in. OpenCV&#46;&#46;&#46;<\/p>\n","protected":false},"author":86671,"featured_media":132001,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27755],"tags":[30139,30138,30137,21719,30129,30121,32828,25729],"class_list":["post-116403","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-opencv-tutorials","tag-chromes-dinosaur-game","tag-chromes-dinosaur-game-using-opencv","tag-opencv-chromes-dinosaur-game-project","tag-opencv-projects","tag-opencv-projects-for-practice","tag-opencv-projects-ideas","tag-python-opencv-chromes-dinosaur-game","tag-python-opencv-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python OpenCV Project - Chrome\u2019s Dinosaur Game - DataFlair<\/title>\n<meta name=\"description\" content=\"OpenCV Chrome&#039;s Dinosaur Game with hand gestures makes it even more fun and engaging. It also has potential for other uses like medical procedures and robotics.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python OpenCV Project - Chrome\u2019s Dinosaur Game - DataFlair\" \/>\n<meta property=\"og:description\" content=\"OpenCV Chrome&#039;s Dinosaur Game with hand gestures makes it even more fun and engaging. It also has potential for other uses like medical procedures and robotics.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-03T12:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-01T06:51:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-opencv.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python OpenCV Project - Chrome\u2019s Dinosaur Game - DataFlair","description":"OpenCV Chrome's Dinosaur Game with hand gestures makes it even more fun and engaging. It also has potential for other uses like medical procedures and robotics.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/","og_locale":"en_US","og_type":"article","og_title":"Python OpenCV Project - Chrome\u2019s Dinosaur Game - DataFlair","og_description":"OpenCV Chrome's Dinosaur Game with hand gestures makes it even more fun and engaging. It also has potential for other uses like medical procedures and robotics.","og_url":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2024-08-03T12:30:00+00:00","article_modified_time":"2026-06-01T06:51:48+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-opencv.webp","type":"image\/webp"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/0e594f928e31fc96628ac40f6ae74f49"},"headline":"Python OpenCV Project &#8211; Chrome\u2019s Dinosaur Game","datePublished":"2024-08-03T12:30:00+00:00","dateModified":"2026-06-01T06:51:48+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/"},"wordCount":1204,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-opencv.webp","keywords":["chrome's dinosaur game","chrome's dinosaur game using opencv","opencv chrome's dinosaur game project","opencv projects","opencv projects for practice","opencv projects ideas","python opencv chrome's dinosaur game","python opencv project"],"articleSection":["OpenCV Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/","url":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/","name":"Python OpenCV Project - Chrome\u2019s Dinosaur Game - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-opencv.webp","datePublished":"2024-08-03T12:30:00+00:00","dateModified":"2026-06-01T06:51:48+00:00","description":"OpenCV Chrome's Dinosaur Game with hand gestures makes it even more fun and engaging. It also has potential for other uses like medical procedures and robotics.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-opencv.webp","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/12\/chromes-dinosaur-game-opencv.webp","width":1200,"height":628,"caption":"chromes dinosaur game opencv"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/opencv-chromes-dinosaur-game\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"OpenCV Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/opencv-tutorials\/"},{"@type":"ListItem","position":3,"name":"Python OpenCV Project &#8211; Chrome\u2019s Dinosaur Game"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/0e594f928e31fc96628ac40f6ae74f49","name":"TechVidvan Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","caption":"TechVidvan Team"},"description":"TechVidvan Team provides high-quality content &amp; courses on AI, ML, Data Science, Data Engineering, Data Analytics, programming, Python, DSA, Android, Flutter, full stack web dev, MERN, and many latest technology.","url":"https:\/\/data-flair.training\/blogs\/author\/test001\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/116403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/86671"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=116403"}],"version-history":[{"count":10,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/116403\/revisions"}],"predecessor-version":[{"id":148601,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/116403\/revisions\/148601"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/132001"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=116403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=116403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=116403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}