96 lines
2.6 KiB
Python
96 lines
2.6 KiB
Python
# Copyright 2019 The MediaPipe Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
licenses(["notice"]) # Apache 2.0
|
|
|
|
MIN_IOS_VERSION = "10.0"
|
|
|
|
load(
|
|
"@build_bazel_rules_apple//apple:ios.bzl",
|
|
"ios_application",
|
|
)
|
|
|
|
# To use the 3D model instead of the default 2D model, add "--define 3D=true" to the
|
|
# bazel build command.
|
|
config_setting(
|
|
name = "use_3d_model",
|
|
define_values = {
|
|
"3D": "true",
|
|
},
|
|
)
|
|
|
|
genrule(
|
|
name = "model",
|
|
srcs = select({
|
|
"//conditions:default": ["//mediapipe/models:hand_landmark.tflite"],
|
|
":use_3d_model": ["//mediapipe/models:hand_landmark_3d.tflite"],
|
|
}),
|
|
outs = ["hand_landmark.tflite"],
|
|
cmd = "cp $< $@",
|
|
)
|
|
|
|
ios_application(
|
|
name = "HandTrackingGpuApp",
|
|
bundle_id = "com.google.mediapipe.HandTrackingGpu",
|
|
families = [
|
|
"iphone",
|
|
"ipad",
|
|
],
|
|
infoplists = ["Info.plist"],
|
|
minimum_os_version = MIN_IOS_VERSION,
|
|
provisioning_profile = "//mediapipe/examples/ios:provisioning_profile",
|
|
deps = [
|
|
":HandTrackingGpuAppLibrary",
|
|
"@ios_opencv//:OpencvFramework",
|
|
],
|
|
)
|
|
|
|
objc_library(
|
|
name = "HandTrackingGpuAppLibrary",
|
|
srcs = [
|
|
"AppDelegate.m",
|
|
"ViewController.mm",
|
|
"main.m",
|
|
],
|
|
hdrs = [
|
|
"AppDelegate.h",
|
|
"ViewController.h",
|
|
],
|
|
data = [
|
|
"Base.lproj/LaunchScreen.storyboard",
|
|
"Base.lproj/Main.storyboard",
|
|
":model",
|
|
"//mediapipe/graphs/hand_tracking:hand_tracking_mobile_gpu_binary_graph",
|
|
"//mediapipe/models:palm_detection.tflite",
|
|
"//mediapipe/models:palm_detection_labelmap.txt",
|
|
],
|
|
sdk_frameworks = [
|
|
"AVFoundation",
|
|
"CoreGraphics",
|
|
"CoreMedia",
|
|
"UIKit",
|
|
],
|
|
deps = [
|
|
"//mediapipe/objc:mediapipe_framework_ios",
|
|
"//mediapipe/objc:mediapipe_input_sources_ios",
|
|
"//mediapipe/objc:mediapipe_layer_renderer",
|
|
] + select({
|
|
"//mediapipe:ios_i386": [],
|
|
"//mediapipe:ios_x86_64": [],
|
|
"//conditions:default": [
|
|
"//mediapipe/graphs/hand_tracking:mobile_calculators",
|
|
],
|
|
}),
|
|
)
|