# Air-Water Bubbly Flow by Multiple Vents on a Hydrofoil in a Steady Free-Stream
## 3 Results and Discussion
### Single-Bubble Tracking and Spatial Density  
Individual bubbles emanating through air injection vents on the hydrofoil were tracked using a 2D image processing algorithm called the Channel and Spatial Reliability Tracking (CSRT) algorithm in OPENCV-Python, whose flowchart is shown in Figure 5. The algorithm for single-bubble tracking was designed such that a tracker was initiated in the CSRT algorithm upon designating the Region of Interest (ROI) as shown in Figure 5 and the tracker and ROI initialized successively for each frames in the high-speed video; thus, keeping track of an individual bubble as it was advected over time in the observation window. The algorithm for finding the spatial density, \(S_{D}\), in the observation window is shown in Figure 6, where the high-speed images were extracted from the high-speed video and a threshold was set in order to generate binary images from RGB images. The individual frames from the original high-speed video were extracted and the Red-Green-Blue (RGB) frames were transformed into grayscale frames by a difference image technique, where the RGB frame was subtracted from a background frame. The grayscale frames were binarized and a bubble segmentation was performed to find the contours in the binary frames. The high-speed video was input into the CSRT algorithm tracker and the region of interest was designated. Then, the region of interest and the trackers were initialized, and the tracker was updated for every frame. The algorithm also enhanced the resolution at the edges, resulting due to background noise and a non-uniform brightness from illumination. Thus, a single air bubble was tracked over time and its dimension in terms of the number of pixels it occupied on a given frame was determined over time. The algorithm was validated by creating artificial frames containing circles of a known radius and moving at a known translation rate and deformation rate across the frames, and it was found that the errors involved in the calculation of the bubble size and spatial density, \(S_{D}\), were minimum. The bubble size of one of the air bubbles in the pixels is shown to vary over time in Figure 7 (multimedia view). Even as the bubble was advected along the flow, it rolled about in space and a variation in the bubble size was observed over time. The drop in the bubble size towards the end of the time series was because the bubble reached the end of the observation area. Based on the measured bubble size, the deformation rate of the individual bubbles was defined as in Equation (1), where \(P_{t}\) was the pixels covered by an air bubble at a given instant of time, and \(P_{i}\) was the pixels covered by an air bubble at an initial time. The measured bubble size in the pixels was standardized as in Equation (2), where \(P_{t}\) was the bubble size at an instant in time, \(<P>\) was the time-averaged bubble size at a given instant of time, and \(\sigma(P)\) was the standard deviation of the bubble size. The plot of the measured deformation rate, \(\epsilon\), and standardization, \(\epsilon_{s}\), over time for several bubbles is shown varying over time in Figures 8 and 9. A variation of \(\epsilon\) and \(\epsilon_{s}\) with time was detected, even as they advected along with the free-stream. \[\epsilon=\frac{P_{t}-P_{i}}{P_{i}} \tag{1}\]  
\[\epsilon_{S}=\frac{P_{t}-<P>}{\sigma(P)} \tag{2}\]  
A quantity called spatial density was defined in order to quantify the area occupied by the bubbles per unit area of view. It was the ratio of the number of pixels with a value of unity in a binary image, \(\Sigma(P_{1})\), to the total number of pixels in the image, where \(P_{1}\) is the pixels with the value unity, as given in Equation (3). The images obtained in each step of binarization are shown in Figure 10. The spatial density of the bubbles was computed at various air injection rate and free-stream velocity combinations.