Photoshop ou The Gimp. On fabrique le logo, on le détoure s'il n'est pas rectangulaire, on le colle sur l'image. On peut alors jouer sur l'opacité (=transparence) du calque du logo pour adapter la transparence au fond. La difficulté avec un logo un peu transparent est qu'il va falloir jouer sur l'opacité du calque du logo pour chaque photo et ce en fonction du fond. Donc pas de traitement par lots envisageable.
Voici un exemple avec 9 fois le logo de Nikon (9 calques + 1 calque d'arrière plan pour la photo). Du haut en bas avec une opacité de 100%-90%-80%-70%-60%-50%-40%-30% et 20%.
J'aurais tendance à penser qu'il vaut mieux un logo opaque. Sauf si c'est une contrainte imposée.