{"id":3147,"date":"2022-02-11T15:59:55","date_gmt":"2022-02-11T07:59:55","guid":{"rendered":"https:\/\/blog.iyatt.com\/?p=3147"},"modified":"2024-05-05T14:19:26","modified_gmt":"2024-05-05T06:19:26","slug":"mediapipe-%e5%85%a5%e9%97%a8","status":"publish","type":"post","link":"https:\/\/blog.iyatt.com\/?p=3147","title":{"rendered":"MediaPipe \u5f15\u5165"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">\u76ee\u5f55<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blog.iyatt.com\/?p=3147\/#%E7%AE%80%E8%BF%B0\" >\u7b80\u8ff0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blog.iyatt.com\/?p=3147\/#%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83\" >\u6d4b\u8bd5\u73af\u5883<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blog.iyatt.com\/?p=3147\/#%E9%99%84\" >\u9644<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blog.iyatt.com\/?p=3147\/#%E4%BA%BA%E8%84%B8%E6%A3%80%E6%B5%8B\" >\u4eba\u8138\u68c0\u6d4b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blog.iyatt.com\/?p=3147\/#%E4%BA%BA%E8%84%B8_3D_%E5%BB%BA%E6%A8%A1\" >\u4eba\u8138 3D \u5efa\u6a21<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blog.iyatt.com\/?p=3147\/#%E6%89%8B%E6%8C%87%E6%A3%80%E6%B5%8B\" >\u624b\u6307\u68c0\u6d4b<\/a><\/li><\/ul><\/nav><\/div>\n\n<h2 class=\"wp-block-heading\" id=\"\u7b80\u8ff0\"><span class=\"ez-toc-section\" id=\"%E7%AE%80%E8%BF%B0\"><\/span>\u7b80\u8ff0<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>MediaPipe \u662f Google \u7684\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u63d0\u4f9b\u4e86\u591a\u79cd\u673a\u5668\u5b66\u4e60\u76f8\u5173\u7684\u63a5\u53e3\uff0c\u53ef\u7b80\u5355\u5b9e\u73b0\u4eba\u8138\u68c0\u6d4b\u3001\u4eba\u50cf\u5206\u5272\u3001\u624b\u52bf\u8ddf\u8e2a\u3001\u4eba\u4f53\u59ff\u52bf\u4f30\u8ba1\u3001\u5934\u53d1\u67d3\u8272\u548c\u4eba\u8138 3D \u5efa\u6a21\u7b49\u7b49\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"859\" height=\"653\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/image-10.png\" alt=\"\" class=\"wp-image-3148 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/image-10.png 859w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/image-10-300x228.png 300w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/image-10-768x584.png 768w\" data-sizes=\"(max-width: 859px) 100vw, 859px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 859px; --smush-placeholder-aspect-ratio: 859\/653;\" \/><\/figure>\n\n\n\n<p>\u76ee\u524d\u76f8\u5173\u5e73\u53f0\u529f\u80fd\u652f\u6301\u60c5\u51b5\uff08\u7248\u672c\u53f7\uff1a0.8.9.1 \uff0c2022.2.11\uff09<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"612\" height=\"649\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/image-11.png\" alt=\"\" class=\"wp-image-3149 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/image-11.png 612w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/image-11-283x300.png 283w\" data-sizes=\"(max-width: 612px) 100vw, 612px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 612px; --smush-placeholder-aspect-ratio: 612\/649;\" \/><\/figure>\n\n\n\n<p>\u5b98\u7f51\uff1a<a href=\"https:\/\/google.github.io\/mediapipe\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/google.github.io\/mediapipe\/<\/a><\/p>\n\n\n\n<p>\u9879\u76ee\u5730\u5740\uff1a<a href=\"https:\/\/github.com\/google\/mediapipe\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/google\/mediapipe<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u6d4b\u8bd5\u73af\u5883\"><span class=\"ez-toc-section\" id=\"%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83\"><\/span>\u6d4b\u8bd5\u73af\u5883<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ubuntu 20.04 x86_64<\/p>\n\n\n\n<p>Python 3.9.10<\/p>\n\n\n\n<p>MediaPipe 0.8.9.1<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pip3 install mediapipe==0.8.9.1<\/pre>\n\n\n\n<p>OpenCV 4.5.5<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pip3 install opencv-python==4.5.5.64<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u9644\"><span class=\"ez-toc-section\" id=\"%E9%99%84\"><\/span>\u9644<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li>FPS \u8ba1\u7b97<\/li><\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">last = 0\nnow = 0\ndef draw_fps(img, x, y, r, g, b):\n    global last, now\n    now = cv2.getTickCount()\n    fps = int(cv2.getTickFrequency() \/ (now - last))\n    cv2.putText(img, 'FPS: {}'.format(fps), (x,y), cv2.FONT_HERSHEY_COMPLEX, 1, (b,g,r))\n    last = now<\/pre>\n\n\n\n<p>\u53c2\u6570\u5206\u522b\u6307\u5b9a\uff1a\u56fe\u50cf\u3001\u6587\u5b57\u5de6\u4e0b\u89d2\u5750\u6807 (x,y)\u3001\u6587\u5b57\u989c\u8272(r,g,b)<\/p>\n\n\n\n<p>\u4f7f\u7528\u65f6\u6dfb\u52a0\u5230 cv2.VideoCapture().read() \u6240\u5728\u5faa\u73af\u5185<\/p>\n\n\n\n<p>2.\u56fe\u50cf\u901a\u9053\u987a\u5e8f\u8bf4\u660e<\/p>\n\n\n\n<p>OpenCV \u4e2d\u7684\u901a\u9053\u987a\u5e8f\u4e3a BGR<\/p>\n\n\n\n<p>MediaPipe \u4e2d\u7684\u901a\u9053\u987a\u5e8f\u4e3a RGB<\/p>\n\n\n\n<p>\u5728\u4e24\u8005\u4ea4\u4e92\u65f6\u9700\u8981\u8f6c\u6362\u901a\u9053<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u4eba\u8138\u68c0\u6d4b\"><span class=\"ez-toc-section\" id=\"%E4%BA%BA%E8%84%B8%E6%A3%80%E6%B5%8B\"><\/span>\u4eba\u8138\u68c0\u6d4b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import cv2\nimport mediapipe as mp\n\n\nmp_face_detection = mp.solutions.face_detection\nmp_drawing = mp.solutions.drawing_utils\n\ncap = cv2.VideoCapture(0)  # \u6253\u5f00\u6444\u50cf\u5934\nwith mp_face_detection.FaceDetection(model_selection=0, min_detection_confidence=0.5)as face_detection:\n    while True:\n        ret, bgr_img = cap.read()  # \u8bfb\u53d6\u6444\u50cf\u5934\u89c6\u9891\u6d41\n        rgb_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB)  # \u8f6c\u6362\u901a\u9053\u987a\u5e8f\n        results = face_detection.process(bgr_img)  # \u4eba\u8138\u68c0\u6d4b\n        if results.detections:\n            for detection in results.detections:\n                mp_drawing.draw_detection(bgr_img, detection)  # \u5728\u56fe\u50cf\u4e0a\u6807\u6ce8\u68c0\u6d4b\u7ed3\u679c\n            cv2.imshow('Face Detection', bgr_img)\n            if cv2.waitKey(5) == 27:\n                break\ncap.release()<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"642\" height=\"567\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-14-25-30-\u7684\u5c4f\u5e55\u622a\u56fe.png\" alt=\"\" class=\"wp-image-3155 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-14-25-30-\u7684\u5c4f\u5e55\u622a\u56fe.png 642w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-14-25-30-\u7684\u5c4f\u5e55\u622a\u56fe-300x265.png 300w\" data-sizes=\"(max-width: 642px) 100vw, 642px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 642px; --smush-placeholder-aspect-ratio: 642\/567;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u4eba\u8138-3d-\u5efa\u6a21\"><span class=\"ez-toc-section\" id=\"%E4%BA%BA%E8%84%B8_3D_%E5%BB%BA%E6%A8%A1\"><\/span>\u4eba\u8138 3D \u5efa\u6a21<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import cv2\nimport mediapipe as mp\n\n\nmp_drawing = mp.solutions.drawing_utils\nmp_drawing_styles = mp.solutions.drawing_styles\nmp_face_mesh = mp.solutions.face_mesh\n\ncap = cv2.VideoCapture(0)\nwith mp_face_mesh.FaceMesh(max_num_faces=1, refine_landmarks=True, min_detection_confidence=0.5, min_tracking_confidence=0.5) as face_mesh:\n    while True:\n        ret, bgr_img = cap.read()\n        rgb_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB)\n        results = face_mesh.process(rgb_img)  # \u4eba\u8138\u5efa\u6a21\n        if results.multi_face_landmarks:\n            for face_landmarks in results.multi_face_landmarks:\n                mp_drawing.draw_landmarks(  # \u7279\u5f81\u70b9\u7f51\u683c\u7ed8\u5236\n                    image=bgr_img,\n                    landmark_list=face_landmarks,\n                    connections=mp_face_mesh.FACEMESH_TESSELATION,\n                    landmark_drawing_spec=None,\n                    connection_drawing_spec=mp_drawing_styles.get_default_face_mesh_tesselation_style())\n                mp_drawing.draw_landmarks(  # \u8f6e\u5ed3\u7ed8\u5236\n                    image=bgr_img,\n                    landmark_list=face_landmarks,\n                    connections=mp_face_mesh.FACEMESH_CONTOURS,\n                    landmark_drawing_spec=None,\n                    connection_drawing_spec=mp_drawing_styles.get_default_face_mesh_contours_style())\n                mp_drawing.draw_landmarks(  # \u8679\u819c\u6807\u6ce8\n                    image=bgr_img,\n                    landmark_list=face_landmarks,\n                    connections=mp_face_mesh.FACEMESH_IRISES,\n                    landmark_drawing_spec=None,\n                    connection_drawing_spec=mp_drawing_styles.get_default_face_mesh_iris_connections_style())\n        cv2.imshow('Face Mesh', bgr_img)\n        if cv2.waitKey(5) == 27:\n            break\ncap.release()<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"642\" height=\"567\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-44-44-\u7684\u5c4f\u5e55\u622a\u56fe.png\" alt=\"\" class=\"wp-image-3157 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-44-44-\u7684\u5c4f\u5e55\u622a\u56fe.png 642w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-44-44-\u7684\u5c4f\u5e55\u622a\u56fe-300x265.png 300w\" data-sizes=\"(max-width: 642px) 100vw, 642px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 642px; --smush-placeholder-aspect-ratio: 642\/567;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u624b\u6307\u68c0\u6d4b\"><span class=\"ez-toc-section\" id=\"%E6%89%8B%E6%8C%87%E6%A3%80%E6%B5%8B\"><\/span>\u624b\u6307\u68c0\u6d4b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import cv2\nimport mediapipe as mp\n\n\nmp_drawing = mp.solutions.drawing_utils\nmp_drawing_styles = mp.solutions.drawing_styles\nmp_hands = mp.solutions.hands\n\ncap = cv2.VideoCapture(0)\nwith mp_hands.Hands(model_complexity=0, min_detection_confidence=0.5, min_tracking_confidence=0.5) as hands:\n    while True:\n        ret, bgr_img = cap.read()\n        rgb_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB)\n        results = hands.process(rgb_img)\n        if results.multi_hand_landmarks:\n            for hand_landmarks in results.multi_hand_landmarks:\n                mp_drawing.draw_landmarks(\n                    bgr_img,\n                    hand_landmarks,\n                    mp_hands.HAND_CONNECTIONS,\n                    mp_drawing_styles.get_default_hand_landmarks_style(),\n                    mp_drawing_styles.get_default_hand_connections_style())\n        cv2.imshow('Hands', bgr_img)\n        if cv2.waitKey(5) == 27:\n            break\ncap.release()<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"642\" height=\"567\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-54-29-\u7684\u5c4f\u5e55\u622a\u56fe.png\" alt=\"\" class=\"wp-image-3159 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-54-29-\u7684\u5c4f\u5e55\u622a\u56fe.png 642w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-54-29-\u7684\u5c4f\u5e55\u622a\u56fe-300x265.png 300w\" data-sizes=\"(max-width: 642px) 100vw, 642px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 642px; --smush-placeholder-aspect-ratio: 642\/567;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"642\" height=\"567\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-53-54-\u7684\u5c4f\u5e55\u622a\u56fe.png\" alt=\"\" class=\"wp-image-3160 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-53-54-\u7684\u5c4f\u5e55\u622a\u56fe.png 642w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-53-54-\u7684\u5c4f\u5e55\u622a\u56fe-300x265.png 300w\" data-sizes=\"(max-width: 642px) 100vw, 642px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 642px; --smush-placeholder-aspect-ratio: 642\/567;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"642\" height=\"567\" data-src=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-53-36-\u7684\u5c4f\u5e55\u622a\u56fe.png\" alt=\"\" class=\"wp-image-3161 lazyload\" data-srcset=\"https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-53-36-\u7684\u5c4f\u5e55\u622a\u56fe.png 642w, https:\/\/blog.iyatt.com\/wp-content\/uploads\/2022\/02\/2022-02-11-15-53-36-\u7684\u5c4f\u5e55\u622a\u56fe-300x265.png 300w\" data-sizes=\"(max-width: 642px) 100vw, 642px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 642px; --smush-placeholder-aspect-ratio: 642\/567;\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7b80\u8ff0 MediaPipe \u662f Google \u7684\u4e00\u4e2a\u5f00\u6e90\u9879\u76ee\uff0c\u63d0\u4f9b\u4e86\u591a\u79cd\u673a\u5668\u5b66\u4e60\u76f8\u5173\u7684\u63a5\u53e3\uff0c\u53ef\u7b80\u5355\u5b9e\u73b0\u4eba\u8138\u68c0\u6d4b\u3001 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"zakra_page_container_layout":"customizer","zakra_page_sidebar_layout":"customizer","zakra_remove_content_margin":false,"zakra_sidebar":"customizer","zakra_transparent_header":"customizer","zakra_logo":0,"zakra_main_header_style":"default","zakra_menu_item_color":"","zakra_menu_item_hover_color":"","zakra_menu_item_active_color":"","zakra_menu_active_style":"","zakra_page_header":true,"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-3147","post","type-post","status-publish","format-standard","hentry","category-all"],"modified_by":"IYATT-yx","_links":{"self":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts\/3147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3147"}],"version-history":[{"count":0,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=\/wp\/v2\/posts\/3147\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.iyatt.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}