Calorie labelling in restaurants and cafes has not resulted in customers choosing healthier meals, a study suggests.