nr = 3;
nc = 4;
i1 = {{1,2, 10,12},{3,4, 13, 14},{5,6, 15, 16}}

e2= (∑_(i=1)^nr)(∑_(j=1)^nc)((Subscript[f, i,j])-i1[[i,j]])^2+ ((∑_(i=2)^nr)(∑_(j=1)^nc)((Subscript[f, i,j])-(Subscript[f, i-1,j]))^2(1-(Subscript[l, i,j]))^2+ (∑_(i=1)^nr)(∑_(j=2)^nc)((Subscript[f, i,j])-(Subscript[f, i,j-1]))^2(1-(Subscript[m, i,j]))^2) + 0.1(∑_(i=1)^nr)(∑_(j=1)^nc)((Subscript[l, i,j])^2+(Subscript[m, i,j])^2);
var2 =Flatten[Join[Table[(Subscript[f, i,j]),{i,1,nr},{j,1,nr}], Table[(Subscript[l, i,j]), {i,1,nr},{j,1,nc}], Table[(Subscript[m, i,j]), {i,1,nc},{j,1,nc}]]];
sol2 = NMinimize[e2, var2]
i2 = Table[(Subscript[f, i,j])/.Last[sol2],{i,1,nr},{j,1,nc}];
(*Image[i2]//ImageAdjust*)