draw right eye with blue color
PiperOrigin-RevId: 525508840
This commit is contained in:
		
							parent
							
								
									b2586e7e3b
								
							
						
					
					
						commit
						3231591f7f
					
				| 
						 | 
					@ -107,6 +107,10 @@ const int kFaceMeshFaceOval[36][2] = {
 | 
				
			||||||
    {152, 148}, {148, 176}, {176, 149}, {149, 150}, {150, 136}, {136, 172},
 | 
					    {152, 148}, {148, 176}, {176, 149}, {149, 150}, {150, 136}, {136, 172},
 | 
				
			||||||
    {172, 58},  {58, 132},  {132, 93},  {93, 234},  {234, 127}, {127, 162},
 | 
					    {172, 58},  {58, 132},  {132, 93},  {93, 234},  {234, 127}, {127, 162},
 | 
				
			||||||
    {162, 21},  {21, 54},   {54, 103},  {103, 67},  {67, 109},  {109, 10}};
 | 
					    {162, 21},  {21, 54},   {54, 103},  {103, 67},  {67, 109},  {109, 10}};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const cv::Scalar kRightEyeColor = cv::Scalar(255.0, 48.0, 48.0);
 | 
				
			||||||
 | 
					const cv::Scalar kLeftEyeColor = cv::Scalar(48.0, 255.0, 48.0);
 | 
				
			||||||
 | 
					const cv::Scalar kFaceContourColor = cv::Scalar(224.0, 224.0, 224.0);
 | 
				
			||||||
}  // namespace
 | 
					}  // namespace
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace mediapipe {
 | 
					namespace mediapipe {
 | 
				
			||||||
| 
						 | 
					@ -180,49 +184,48 @@ void DrawFace(const mediapipe::NormalizedLandmarkList& face, bool flip_y,
 | 
				
			||||||
  constexpr int draw_line_width = 2;
 | 
					  constexpr int draw_line_width = 2;
 | 
				
			||||||
  for (int j = 0; j < 36; ++j) {
 | 
					  for (int j = 0; j < 36; ++j) {
 | 
				
			||||||
    cv::line(*image, landmarks[kFaceMeshFaceOval[j][0]],
 | 
					    cv::line(*image, landmarks[kFaceMeshFaceOval[j][0]],
 | 
				
			||||||
             landmarks[kFaceMeshFaceOval[j][1]], cv::Scalar(224, 224, 224),
 | 
					             landmarks[kFaceMeshFaceOval[j][1]], kFaceContourColor,
 | 
				
			||||||
             draw_line_width);
 | 
					             draw_line_width);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int j = 0; j < 40; ++j) {
 | 
					  for (int j = 0; j < 40; ++j) {
 | 
				
			||||||
    cv::line(*image, landmarks[kFaceMeshLips[j][0]],
 | 
					    cv::line(*image, landmarks[kFaceMeshLips[j][0]],
 | 
				
			||||||
             landmarks[kFaceMeshLips[j][1]], cv::Scalar(224, 224, 224),
 | 
					             landmarks[kFaceMeshLips[j][1]], kFaceContourColor,
 | 
				
			||||||
             draw_line_width);
 | 
					             draw_line_width);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int j = 0; j < 16; ++j) {
 | 
					  for (int j = 0; j < 16; ++j) {
 | 
				
			||||||
    cv::line(*image, landmarks[kFaceMeshLeftEye[j][0]],
 | 
					    cv::line(*image, landmarks[kFaceMeshLeftEye[j][0]],
 | 
				
			||||||
             landmarks[kFaceMeshLeftEye[j][1]], cv::Scalar(48, 255, 48),
 | 
					             landmarks[kFaceMeshLeftEye[j][1]], kLeftEyeColor, draw_line_width);
 | 
				
			||||||
             draw_line_width);
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int j = 0; j < 8; ++j) {
 | 
					  for (int j = 0; j < 8; ++j) {
 | 
				
			||||||
    cv::line(*image, landmarks[kFaceMeshLeftEyebrow[j][0]],
 | 
					    cv::line(*image, landmarks[kFaceMeshLeftEyebrow[j][0]],
 | 
				
			||||||
             landmarks[kFaceMeshLeftEyebrow[j][1]], cv::Scalar(48, 255, 48),
 | 
					             landmarks[kFaceMeshLeftEyebrow[j][1]], kLeftEyeColor,
 | 
				
			||||||
             draw_line_width);
 | 
					             draw_line_width);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int j = 0; j < 4; ++j) {
 | 
					  for (int j = 0; j < 4; ++j) {
 | 
				
			||||||
    cv::line(*image, landmarks[kFaceMeshLeftIris[j][0]],
 | 
					    cv::line(*image, landmarks[kFaceMeshLeftIris[j][0]],
 | 
				
			||||||
             landmarks[kFaceMeshLeftIris[j][1]], cv::Scalar(48, 255, 48),
 | 
					             landmarks[kFaceMeshLeftIris[j][1]], kLeftEyeColor,
 | 
				
			||||||
             draw_line_width);
 | 
					             draw_line_width);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int j = 0; j < 16; ++j) {
 | 
					  for (int j = 0; j < 16; ++j) {
 | 
				
			||||||
    cv::line(*image, landmarks[kFaceMeshRightEye[j][0]],
 | 
					    cv::line(*image, landmarks[kFaceMeshRightEye[j][0]],
 | 
				
			||||||
             landmarks[kFaceMeshRightEye[j][1]], cv::Scalar(48, 48, 255),
 | 
					             landmarks[kFaceMeshRightEye[j][1]], kRightEyeColor,
 | 
				
			||||||
             draw_line_width);
 | 
					             draw_line_width);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int j = 0; j < 8; ++j) {
 | 
					  for (int j = 0; j < 8; ++j) {
 | 
				
			||||||
    cv::line(*image, landmarks[kFaceMeshRightEyebrow[j][0]],
 | 
					    cv::line(*image, landmarks[kFaceMeshRightEyebrow[j][0]],
 | 
				
			||||||
             landmarks[kFaceMeshRightEyebrow[j][1]], cv::Scalar(48, 48, 255),
 | 
					             landmarks[kFaceMeshRightEyebrow[j][1]], kRightEyeColor,
 | 
				
			||||||
             draw_line_width);
 | 
					             draw_line_width);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (int j = 0; j < 4; ++j) {
 | 
					  for (int j = 0; j < 4; ++j) {
 | 
				
			||||||
    cv::line(*image, landmarks[kFaceMeshRightIris[j][0]],
 | 
					    cv::line(*image, landmarks[kFaceMeshRightIris[j][0]],
 | 
				
			||||||
             landmarks[kFaceMeshRightIris[j][1]], cv::Scalar(48, 48, 255),
 | 
					             landmarks[kFaceMeshRightIris[j][1]], kRightEyeColor,
 | 
				
			||||||
             draw_line_width);
 | 
					             draw_line_width);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user