A theoretically-based methodology is presented for the determination of bed load transport from high-resolution measurements of bed surface elevations for steady-state or developing dunes. The methodology is based on the general form of the Exner equation for sediment continuity and requires information on the distribution of sediment volume concentration as well as the migration velocity of bed layers. In order to determine layer speeds, a new method based on cross-correlation analysis of elevation slices is proposed. The methodology is tested using artificially-created data as well as data from a physical model and from a flume study of developing bed forms. The analyses show the applicability of the method to determine bed load transport without the need to introduce assumptions about the form of the migrating surface. It is shown that predicted transport rates match measured or theoretical transport rates for steadily moving bed forms of an arbitrary shape. The method can also be used to predict transport rates over deforming bed forms, with the reasons for potential deviations between predicted and measured or theoretical transport rates for deforming bed forms identified and discussed. It is further shown that a simplified bulk-surface approach, that is relatively straightforward to apply and in which it is assumed that bed-layer velocity is constant with depth, gives results that are comparable to analyses based on determined bed-layer velocity variation with depth.