Ocean surface waves may be modified by ocean current and their observation may be severely distorted if the observer is on a moving platform with changing speed. Tidal current near a sill varies inversely with the water depth, and results spatially inhomogeneous modulation on the surface waves near the sill. For waves propagating upstream, they will encounter stronger current before reaching the sill, and therefore, they will shorten their wavelength with frequency unchanged, increase its amplitude, and it may break if the wave height is larger than 1/7 of the wavelength. These small scale (∼ 1 km) changes is not suitable for satellite radar observation. Spatial distribution of wave-height spectra S(x, y) can not be acquired from wave gauges that are designed for collecting 2-D wave spectra at fixed locations, nor from satellite radar image which is more suitable for observing long swells. Optical images collected from cameras on-board a ship, over high-ground, or onboard an unmanned auto-piloting vehicle (UAV) may have pixel size that is small enough to resolve decimeter-scale short gravity waves. If diffuse sky light is the only source of lighting and it is uniform in camera-viewing directions, then the image intensity is proportional to the surface reflectance R(x, y) of diffuse light, and R is directly related to the surface slope. The slope spectrum and wave-height spectra S(x, y) may then be derived from R(x, y). The results are compared with the in situ measurement of wave spectra over Keelung Sill from a research vessel. The application of this method is for analysis and interpretation of satellite images on studies of current and wave interaction that often require fine scale information of wave-height spectra S(x, y) that changes dynamically with time and space.