(1) | Function [W_3D_Obj] = Embedding (Obj, Msg,α, β, Key1, Key2, Key3) |
(2) | //Obj : Original 3D object vertices, Msg : Secret grayscale image, Key1, Key2 and Key3: Encryption keys |
(3) | //Control parameters: α ∈ [0, 0.5], β ∈ [1000, 9000] |
(4) | Normalized Obj = Normalize(Obj) |
(5) | [Vertex x, Vertex y, Vertex z] = Preprocessing(Normalized Obj, α) |
(6) | Normalized Msg = Normalize(Msg) |
(7) | Msg vector = Reshape to vector(Normalized Msg) |
(8) | [Enc Msg1] = Encrypt(Msg vector, Key1) |
(9) | [Enc Msg2] = Encrypt(Msg vector, Key2) |
(10) | [Enc Msg3] = Encrypt(Msg vector, Key3) |
(11) | for j = 1 to length(Msg vector) do |
(12) | |
(12) | Embed the Enc Msg value within the Coefficients values as the following equation system: |
(13) | , |
(14) | |
(15) | end |
(16) | W_3D_object = DeNormalize(Vertex x’, Vertex y’, Vertex z’) |
(17) | return Watermarked 3D object W_3D_Obj |
(18) | end |