## 2 Multi-Feature Detection Method of Image Tampering
The CCW \(\psi^{\theta_{0}}\), \(\psi^{\theta_{0}+2\pi/3}\), and \(\psi^{\theta_{0}+4\pi/3}\) are denoted as \(\psi^{\rm R}\), \(\psi^{\rm G}\), and \(\psi^{\rm B}\), respectively, and then the CCW coefficient vectors of the color image level \(j\) and direction \(n\) can be expressed as [15]:

\[\mathbf{d}_{j}^{R,n} = \mathbf{r}*\psi_{j}^{R,n} \tag{1}\] \[\mathbf{d}_{j}^{G,n} = \mathbf{g}*\psi_{j}^{G,n}\] (2) \[\mathbf{d}_{j}^{B,n} = \mathbf{b}*\psi_{j}^{B,n} \tag{3}\]

Figure 1: The overall process of the proposed detection algorithm of stitching tampering. H and W denote the height and the width of the input image, respectively. where \(r\), \(g\), and \(b\) are the channel vectors of the color image, and * stands for the convolution operation. For each level and direction, the two-dimensional multi-channel complementary color operator defined in [15] can be written as:

\[\left( \begin{array}{c}\mathbf{O}_{j}^{C,n}\\ \mathbf{O}_{j}^{\text{R,n}}\\ \mathbf{O}_{j}^{\text{G,n}}\\ \mathbf{O}_{j}^{\text{B,n}}\\ \end{array} \right)=\left( \begin{array}{ccc}1&1&1\\ 1&-1&-1\\ -1&1&-1\\ -1&-1&1\\ \end{array} \right)\left( \begin{array}{c}\mathbf{d}_{j}^{\text{R,n}}\\ \mathbf{d}_{j}^{\text{G,n}}\\ \mathbf{d}_{j}^{\text{B,n}}\\ \end{array} \right) \tag{4}\]

where \(n=k\pi/8,k=1,2,\cdots,8\) represents the 8 sub-band directions of the complementary color operator, and \(\mathbf{O}_{j}^{C,n}\), \(\mathbf{O}_{j}^{\text{R,n}}\), \(\mathbf{O}_{j}^{\text{G,n}}\), and \(\mathbf{O}_{j}^{\text{B,n}}\) are black-white, red-cyan, green-magenta, and blue-yellow complementary color operators, respectively. When the color change deviates from the complementary color axis, the corresponding complementary color operator will change accordingly [15]. Based on (4), the black-white complementary color operator is obtained by the summation of the other three pairs of CCW coefficient vectors, and reflects the variation in any chroma changes. Therefore, the black-white complementary color operator is chosen and its energy in a certain sub-band is calculated to represent the chroma change of the image. In this way, for a color image with a size \(R\times C\), the chroma change in level \(j\) after CCW transformation is [15]:

\[f_{j}(r,c)=\sum_{n=1}^{8}\left(y_{j}^{C,n}(r,c)\right)^{2} \tag{5}\]

where \(y_{j}^{C,n}(r,c)\) is the complementary color coefficient of any point \((r,c)\) in the 8 directional sub-band \(\mathbf{O}_{j}^{\bullet,n}\) corresponding to level \(j\), \(r\in R_{j}\), \(c\in C_{j}\), and \(R_{j}=R/2^{j}\), \(C_{j}=C/2^{j}\) represent the size of the sub-band \(\mathbf{O}_{j}^{\bullet,n}\). To reduce the complexity of CCW chroma detection, simple linear iterative clustering (SLIC) is adopted in this paper. Firstly, the image is divided into superpixels, assuming that superpixels comprising a large number of pixels with similar characteristics can extract the main information of the image while preserving its chroma and edge information [23]. The superpixel algorithm [23] transforms an image into a feature vector \(V=\left[l,a,b,x,y\right]^{T}\), where \([l,a,b]^{T}\) represents the CIE-Lab color information of the pixel and \([x,y]^{T}\) is the spatial position of the pixel. The pixels of the image are divided into \(M\) superpixel blocks by local clustering. If the image has \(N\) pixels in total, the size of each superpixel can be expressed as \(N/M\). \(M\) is first initialized to \(M_{0}\), and then the algorithm returns the calculated actual number of superpixels and updates \(M\). \(M_{0}\) is set to 200 empirically. Then, CCW is used to detect the chroma of the image after superpixel segmentation to obtain the color changes in the direction of interest. Figure 2 shows some examples of the CCW chroma detection of tampered images by applying (5). It can be found that the CCW chroma operator correctly detects chroma changes in tampered images. ### Sharpness Detection Operator

According to the principle of digital imaging, there are usually focusing regions and defocusing regions in an image [24].