1 Introduction

With the rapid development of the Internet, the world has become increasingly digitalized. Digital media such as images and videos are easy to spread and duplicate; however, it will cause the rights and interests of digital media owners to be infringed. Therefore, the security and protection of digital media has become an important research topic [1,2,3,4]. Invisible digital watermarking is a potential method for protecting digital media because of its imperceptibility and robustness.

According to the difference of the watermark insertion domain, watermarking techniques can be classified into spatial domain watermarking methods [5,6,7] and frequency domain watermarking methods [8,9,10,11]. The spatial domain methods are techniques that directly manipulate image pixels to embed watermark bits. For example, a spatial domain color image watermarking method was proposed by Abraham et al. [5], which supports imperceptible watermarking and high resistance to attacks. The frequency domain watermarking methods use mathematical transforms such as redundant discrete wavelet transform (RDWT) [12],the discrete wavelet transform (DWT) [13,14,15,16], discrete cosine transform (DCT) [8, 9, 17], and discrete Fourier transform (DFT) [18] to transform the carrier image to the frequency domain, and the watermark information is embedded in the frequency coefficients. Compared with the spatial domain method, the frequency domain method has better imperceptibility and robustness.

Therefore, many frequency domain watermarking methods have been proposed. For instance, Jane and Elbaşi [13] presented a new nonblind watermarking method based on singular value decomposition (SVD) and DWT. This method embeds watermark information in the LL subband of DWT coefficients to increase the imperceptibility of the watermark and combines DWT and SVD to increase the watermark robustness. However, this algorithm is a nonblind watermarking algorithm that requires an original carrier image during the watermark extraction process and has a very weak ability to withstand rotation attacks. Ernawan and Kabir [8] proposed a reliable DCT-based digital watermarking scheme with the best DCT psychovisual threshold. This scheme uses the lowest modified entropy to choose the embedded image blocks and achieves high imperceptibility and robustness. However, the carrier images used in the scheme are grayscale images, and the embedded watermark image is a simple binary image. Currently, color images are more widely utilized than grayscale images because color images are more informative and detailed. Therefore, blind and color digital image watermarking algorithms have been presented [10, 17, 19]. For example, Yuan et al. [10] proposed a color image blind watermarking scheme based on DCT. The carrier and watermark images used in the scheme are RGB [20] color images, and all the pixel values of the watermark image are converted from decimal to binary information that is embedded into the DCT midfrequency coefficients of the red, green, and blue components of the color carrier image by modifying the selected DCT midfrequency coefficients. The watermark extraction process of this scheme does not require the original data, and therefore, it belongs to a blind watermarking scheme. However, it is not sufficiently robust against cropping, translation, and rotation attacks.

Furthermore, considering the imperceptibility and robustness of watermarks, many watermarking algorithms based on the Radon transform have been proposed to protect copyright information over the years. In [21], the FDCT, SVD, and Radon transform techniques were utilized to build a watermarking method to increase the robustness and security of watermark. In [22], Pranab Kumar et al. proposed a color image watermarking method based on Radon transform and Jordan decomposition, which has high robustness against geometrical attacks. In [23], a robust digital watermarking methodology based on Radon transform was introduced to embed watermark by adding a weak signal to the strong background of an original image.

Although many methods have been presented to enhance the performance of watermarking algorithms in some aspects, such as imperceptibility, security, or robustness [17, 24,25,26], achieving a balance of these aspects is still the focus of current research. In this study, a robust color image watermarking scheme based on the Radon transform [21, 22, 27] and DCT is proposed. The bit information of the color watermark image is embedded into the DCT middle-frequency coefficients of the Radon transform domain of the carrier image using the proposed rules. In the case of geometric distortion attacks, the synchronization error can be induced; therefore, the watermark is difficult to be extracted. To combat geometric distortions, the geometric correction method is proposed to recover the synchronization of watermarking. Numerical experiments show that the proposed scheme has high imperceptibility and robustness under different types of attacks.

The remainder of this paper proceeds as follows. Section 2 explains the relevant knowledge. Section 3 describes the scheme for watermark embedding and watermark extraction. Section 4 presents the experimental results and analysis. Finally, Section 5 presents the conclusion.

2 Preliminaries

2.1 Radon transform

The Radon transform is a projection of the image matrix along a specified direction. The Radon transform of a 2-D image \(f\left(x,y\right)\) can be computed as follows:

$$P\left(\rho ,\theta \right)=R\left(\rho ,\theta \right)\left[f\left(x,y\right)\right]={\int }_{-\infty }^{+\infty }{\int }_{-\infty }^{+\infty }f\left(x,y\right)\delta \left(\rho -x\;\mathit{cos}\;\theta -y\;\mathit{sin}\;\theta \right)dx\;dy$$
(1)

where R (ρ, θ) is the path integral of the function f (x, y) taken over Line L\({ \uprho} =\mathrm{ x\;cos\;\theta }+\mathrm{y\;sin\;\theta }\), \(\uprho\) is the distance between L and the origin, θ ∈ [0, π] is the angle between the normal of the line L and the x-axis, and δ(.) is the Dirac delta function. Because the digital image is discrete, the continuous Radon transform equation must be discretized. We use the radon() function, a built-in function of Matlab, to calculate the Radon transform of an image.

The linear discrete Radon transform (DRT) has several useful geometric properties:

Translation transforms:

$$R\left(\rho ,\theta \right)\left[f\left(x-{x}_{0},y-{y}_{0}\right)\right]=P\left(\rho -{\rho }_{0},\theta \right)$$
(2)

where \({\rho }_{0}={x}_{0}\;{\text{cos}\;}\theta +{y}_{0}\;{\text{sin}}\;\theta\).

Rotation transforms:

$$R\left(\rho ,\theta \right)\left[f\left[\left(x\;\mathit{cos}\;{\theta }_{0}+y\;\mathit{sin}\;{\theta }_{0},-x\mathit\;{cos}\;{\theta }_{0}+y\;\mathit{sin}\;{\theta }_{0}\right)\right]\right]=P\left(\rho ,\theta +{\theta }_{0}\right)$$
(3)

where \({\theta }_{0}\) is the angle of image rotation. If an image \(f\left(x,y\right)\) is rotated by the angle \({\theta }_{0}\), \(\it {\text{R}}\left(\uprho ,\uptheta \right)\) is also translated according to same size in the \(\uptheta\) direction.

Scale transforms:

$$R\left(\rho ,\theta \right)\left[f\left(\lambda x,\lambda y\right)\right]={\lambda }^{-1}P\left(\lambda \rho ,\theta \right)$$
(4)

where \(\uplambda\) is the scale factor of the image. If an image \(f\left(x,y\right)\) is resized as \(\uplambda\), \(\it {\text{R}}\left(\uprho ,\uptheta \right)\) is also changed with same size.

Therefore, the Radon transform has the translation, rotation and scale invariant properties. Furthermore, the Radon transform is line integrals of the image. For these reasons, embedding watermark in Radon domain will provide good robustness to various types of attacks.

2.2 The discrete cosine transform

Discrete cosine transform (DCT) is a method which can transform an image into frequency domain, and DCT has the advantages of good performance, accuracy, and good energy concentration. So DCT has been widely employed in image processing applications. To improve the DCT transform performance, the carrier image is first divided into subblocks of size 8 × 8, and then DCT is performed on each block. The DCT results include three frequency subbands: high-frequency, middle-frequency, low-frequency. Because low-frequency coefficients carry important perceptual information, embedding watermarks in them causes obvious image distortion. Embedding in high-frequency coefficients makes the watermarked image vulnerable to low-pass filtering because high-frequency coefficients include detailed information. Therefore, the middle-frequency DCT block coefficients are often selected to embed the watermark [5, 8, 19].

Two-dimensional discrete cosine transform (2D-DCT) can be calculated through 1D-DCT along columns and rows of images separately. The 2D-DCT of an N × N image \(f\left(x,y\right)\) is defined by Eq. (5):

$$F\left(u,v\right)=\alpha \left(u\right)\alpha \left(v\right)\times \left[\sum_{x=0}^{N-1}\sum_{y=0}^{N-1}f\left(x,y\right)\times {\text{cos}}\frac{\left(2x+1\right)u\pi }{2N}{\text{cos}}\frac{\left(2y+1\right)v\pi }{2N}\right]$$
(5)

where,

$$\alpha\left(u\right)=\left\{\begin{array}{ll}\sqrt{1/N},&u=0\\\sqrt{2/N},&u=1,2,\dots,N-1\end{array}\right.$$
(6)

\(x\) and \(y\) are the coordinates in the spatial domain, \(u\) and \(v\) are the coordinates in the frequency domain, \(F\left(u,v\right)\) is the frequency coefficient at coordinate \(\left(u,v\right)\), and \(\alpha \left(v\right)\) is similar to \(\alpha \left(u\right)\). The two-dimensional inverse discrete cosine transform (2D-IDCT) is defined as follows:

$$f\left(x,y\right)=\alpha \left(u\right)\alpha \left(v\right)\times \left[\sum_{u=0}^{N-1}\sum_{v=0}^{N-1}F\left(u,v\right)\times {\text{cos}}\frac{\left(2x+1\right)u\pi }{2N}{\text{cos}}\frac{\left(2y+1\right)v\pi }{2N}\right]$$
(7)

2.3 Arnold transform

To improve the watermarking scheme security, the watermark image needs to be scrambled before watermark embedding. The Arnold scrambling transform is an effective method for scrambling watermark images to ensure watermark algorithm security. The two-dimensional Arnold transform is defined as follows:

$$\left[\begin{array}{c}{x}^{\prime}\\ {y}^{\prime}\end{array}\right]={\left[\begin{array}{cc}a& b\\ c& d\end{array}\right]}^{n}\left[\begin{array}{c}x\\ y\end{array}\right]mod\; N$$
(8)

where (\(x\), \(y\)) is the position of a pixel in the original watermark image, (\({x}^{\mathrm{^{\prime}}}\), \({y}^{\mathrm{^{\prime}}}\)) is the position of the pixel in the scrambled watermark image, N is the size of the watermark image, n is the number of iterations that is considered as the private key Ka to strengthen security, and the entries of the transformation matrix are set to a = b = c = 1, d = 2. An inverse Arnold transform is applied to descramble the scrambled watermark image to retrieve the original watermark image.

3 The proposed scheme

3.1 Watermark embedding process

The detailed steps of the watermark embedding process are given in Fig. 1.

  • Step 1: Convert a carrier image I with a size of M × M from RGB to YUV color space. As the human eye is more sensitive to brightness than color, the watermark is embedded into the U component of the YUV color space. Employ the Radon transform on the U component to obtain the Radon domain and divide it into non-overlapping blocks of size 8 × 8.

  • Step 2: A 24-bit RGB color watermark image W with size of N × N is split into three different components (red, green, and blue). To enhance the watermark security, each component is scrambled by the Arnold transform using the private key \({K}_{{a}_{i}}\), i = 1,2,3. Each decimal pixel value of the image’ three components is converted into an eight-bit binary number and then all the binary numbers are sequentially concatenated to obtain a binary sequence S of length 24N2.

  • Step 3: In order to enhance the security level of digital watermarking algorithm, we use MATLAB’s built-in function randperm(n,k) to select k unique random numbers from {1,2,…,n}, where n is greater than k and less than the total number of blocks in the Radon domain, k unique random numbers are used to select the embedded blocks, and two integers n, k can be used as key Kb. Every selected block is then transformed using 2D-DCT.

  • Step 4: Embed the watermark.

    Considering the tradeoff between robustness and imperceptibility, the watermark is embedded into the DCT midfrequency coefficients of the selected blocks. In the selected DCT block, two pairs of DCT midfrequency coefficients with fixed positions (1,7) and (7,1), (1,5) and (5,1) are selected.

    Two binary watermark bits \({w}_{i}\) are selected from S successively, and Eqs. (9) and (10) are used to modify DCT midfrequency coefficients pairs (\({c}_{i1}\)\({c}_{i2}\)) to (\({c}_{i1}^{*}{c}_{i2}^{*}\),) for embedding the watermark bit \({w}_{i}\), where i = 1,2,respectively. The modified pairs (\({c}_{i1}^{*}\)\({c}_{i2}^{*}\)) are calculated as follow:

    $$c_{i1}^\ast=\left\{\begin{array}{l}signs\left(c_{i1}\right)\times\left(avg-0.25\times T\right),\;if\;w=1\;and\;abs\left(c_{i2}\right)-abs(c_{i1)})<\alpha\times T\\signs\left(c_{i1}\right)\times\left(avg+0.25\times T\right),\;if\;w=0\;and\;abs\left(c_{i1}\right)-abs(c_{i2)})<\alpha\times T\\c_{i1},\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;otherwise\end{array}\right.$$
    (9)
    $$c_{i2}^\ast=\left\{\begin{array}{l}signs\left(c_{i2}\right)\times\left(avg+0.25\times T\right),\;if\;w=1\;and\;abs\left(c_{i2}\right)-abs(c_{i1)})<\alpha\times T\\signs\left(c_{i2}\right)\times\left(avg-0.25\times T\right),\;if\;w=0\;and\;abs\left(c_{i1}\right)-abs(c_{i2)})<\alpha\times T\\c_{i2},\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;otherwise\end{array}\right.$$
    (10)

    where, \(avg=(abs\left({c}_{i1}\right)+abs\left({c}_{i2}\right))/2\), abs(.) function returns the absolute value of a number, \(T\) is called the quantization step which is obtained through several experiments, \({\text{signs}}(.)\) is defined as follow:

    $$signs\left(x\right)=\left\{\begin{array}{lc}1,&if\;x\geq0\\-1,&otherwise\end{array}\right.$$
    (11)
  • Step 5: Finally, all the modified midfrequency coefficients are merged into the corresponding selected DCT blocks. A 2D-IDCT is performed on each selected block, and then the inverse Radon transform is used to obtain the embedded U component. Three components of the YUV color space are combined, and the YUV is converted to the RGB color space to obtain the watermarked image.

Fig. 1
figure 1

Diagram of the watermark embedding process

3.2 Watermark extraction process

Figure 2 shows the watermark extract process. It first checks whether the synchronization of watermark is destroyed by geometric attacks, followed by the meaningful watermark extraction. The specific steps are described below:

  • Step 1: Determine whether there is a geometric attack on a watermarked image. If yes, then correct the watermarked image; otherwise, perform the Radon transform on the U chrominance of the YUV color space of the watermarked image to obtain Radon domain data.

  • Step 2: Obtain the extracted blocks from the Radon domain data using the random permutation generated by function randperm(n,k) and then apply DCT to these blocks.

  • Step 3: According to the relationship between the absolute values of coefficients pair (\({c}_{i1}^{*}\)\({c}_{i2}^{*}\)), the watermark bit is extracted according to Eq. (12):

    $$w_i^\ast=\left\{\begin{array}{ll}1,&if\;abs\left(c_{i1}^\ast\right)<abs\left(c_{i2}^\ast\right)\\0,&otherwise\end{array}\right.$$
    (12)

    Then, the scrambled watermark image is produced.

  • Step 4: Obtain the color watermark image through the inverse Arnold transform on the scrambled watermark image with secret key Ka.

Fig. 2
figure 2

Diagram of the watermark extraction process

3.3 Geometric correction

After the watermarked image is translated, scaled, or rotated, the synchronization of the embedded watermark is changed. To extract the watermark, it is necessary to know the pixels and direction of translation, the scale factor, and the rotation angle. Using these parameters, we can recover the image to its original size or orientation before watermark extraction.

Different from the invariant methods [28, 29], we calculate the rotation feature of an image based on the positions of the first nonzero pixels of the image. After an image is rotated, the four corners of the image are filled with black pixels with a pixel value of 0. Then the image is cropped, and its size remains unchanged. Figure 3b shows the rotated image after rotating the Lena image shown in Fig. 3a counterclockwise to a size of 512 × 512. Therefore, the rotation angle of the rotated image can be calculated according to the positions of the nonzero pixels.

Fig. 3
figure 3

Image rotation, translation

As shown in Fig. 3b, the first nonzero pixel point (x1, x2) in the first row and the first nonzero pixel point (x2, y2) in the first column can be obtained according to the pixel position index, and the rotation angle θ is given as follows:

$$\theta =arctan\frac{{x}_{2}-{x}_{1}}{{y}_{2}-{y}_{1}}$$
(13)

Rotating the image clockwise by \(\theta\) degrees, the image can be corrected.

There are typically eight ways to translate an image: right, left, up, down, top left, bottom left, top right, and bottom right. The translated image maintained its original size. Figure 3c is the “Lena” image in Fig. 3a, translated by 20 pixels along the horizontal direction, and 20 pixels along the vertical direction.

For an image I(x,y) of size N × N, if the translated image is represented by I'(x,y), we can obtain the position (xt, yt) of the upper-left corner and the position (xb, yb) of the lower-right corner in the nonzero pixel area of I'(x,y). If xt = yt = 1 and xb = yb = N, the image is not translated; if xt > 1, it is translated down; if yt > 1, it is translated right; if xb < N, it is translated up; if yb < N, it is translated left. Therefore, we can calculate the direction and distance of the image translation and then correct I'(x,y).

After the watermarked image is scaled, we only need to recover it to its original size. The scaling attack has very little effect on the embedded watermark in Radon domain. Therefore, the watermark can be effectively extracted from the watermarked image using the proposed algorithm.

4 Experimental results and discussion

Usually, the performance of watermarking algorithm is evaluated from two aspects of imperceptibility and robustness. To evaluate the robustness and imperceptibility of the proposed watermarking algorithm, ten 24-bit 512 × 512 color images (Lean, Baboon, Airplane, Peppers, Lake, Kid, Barbara, Bear, House, and Fruits) shown in Fig. 4a–j are used as the carrier images in this study. These carrier images were selected from standard digitized image databases (USC-SIPI [30] and CVG-UGR [31]). Two color images with a size of 32 × 32, as shown in Fig. 5a and b, were used as watermark images.

Fig. 4
figure 4

Carrier images: a Lena, b Baboon, c Airplane, d Peppers, e Sailboat, f Kid, g Barbara, h Bear, i House j Fruits

Fig. 5
figure 5

Watermark images: a watermark 1, b watermark 2

The watermark imperceptibility reflects the ability of watermarking algorithm to hide the watermark in the carrier image. In general, the peak signal-to-noise ratio (PSNR) [18] and structural similarity index measurement (SSIM) [10, 32] were used to assess the imperceptibility of digital watermark.

PSNR is used to calculate the pixel difference between the original image and the degraded image and is a widely used objective assessment instrument for watermarked image quality. The higher the PSNR value, the better the quality of the watermarked image and the better the watermarking algorithm. The PSNR for color digital images is defined as follows:

$$PSNR=10lg\frac{{N}_{1}\times {N}_{2}\times M\times {255}^{2}}{\underset{x=1}{\sum\limits^{{N}_{1}}}\underset{y=1}{\sum\limits^{{N}_{2}}}\underset{j=1}{\sum\limits^{M}}{\left[I\left(x,y,j\right)-{I}^{*}\left(x,y,j\right)\right]}^{2}}$$
(14)

where \({N}_{1}\) and \({N}_{2}\) are the number of rows and columns of original carrier image, \(M\) is the number of image’ components, \(\it I\left({\text{x}},y,j\right)\) represents the pixel value of the component j of the carrier image at the \((x,y)\) location, and \({I}^{*}\left(x,y,j\right)\) represents the pixel value of the component j of the watermarked image at the \((x,y)\) location.

The SSIM is a newer measurement tool for the similarity between two images. It was designed based on the characteristics of the human visual system. The value of SSIM is between 0 and 1, and it can effectively measure the quality of images. The higher the SSIM value is, the better the quality of the watermarked image. The SSIM is defined as follows:

$$SSIM\left(I,{I}^{*}\right)=l\left(I,{I}^{*}\right)c\left(I,{I}^{*}\right)s\left(I,{I}^{*}\right)$$
(15)

where

$$\left\{\begin{array}{l}l\left(I,{I}^{*}\right)=\left(2{\mu }_{I}{\mu }_{{I}^{*}}+{C}_{1}\right)/\left({\mu }_{I}^{2}+{\mu }_{{I}^{*}}^{2}+{C}_{1}\right)\\ c\left(I,{I}^{*}\right)=\left(2{\sigma }_{I}{\sigma }_{{I}^{*}}+{C}_{2}\right)/\left({\sigma }_{I}^{2}+{\sigma }_{{I}^{*}}^{2}+{C}_{2}\right)\\ s\left(I,{I}^{*}\right)=\left({\sigma }_{I{I}^{*}}+{C}_{3}\right)/\left({\sigma }_{I}{\sigma }_{{I}^{*}}+{C}_{3}\right)\end{array}\right.$$
(16)

\(l\left(I,{I}^{*}\right)\)\(c\left(I,{I}^{*}\right)\) and \(s\left(I,{I}^{*}\right)\) are functions that compare the luminance, contrast, and structures of image \(I\) and image \({I}^{*}\), respectively.

In addition, normalized cross-correlation (NC) is an objective criterion for evaluating the robustness of the watermarking algorithm. The value of NC is between 0 and 1.The higher the NC value, the higher the similarity between two images. The NC value is calculated as follows:

$$NC=\frac{\underset{j=1}{\sum\limits^{3}}\underset{x=1}{\sum\limits^{M}}\underset{y=1}{\sum\limits^{N}}\left(W\left(x,y,j\right)\times {W}^{\prime}\left(x,y,j\right)\right)}{\sqrt{\underset{j=1}{\sum\limits^{3}}\underset{x=1}{\sum\limits^{M}}\underset{j=1}{\sum\limits^{N}}{\left[W\left(x,y,j\right)\right]}^{2}}\sqrt{\underset{j=1}{\sum\limits^{3}}\underset{x=1}{\sum\limits^{M}}\underset{j=1}{\sum\limits^{N}}{\left[{W}^{\prime}\left(x,y,j\right)\right]}^{2}}}$$
(17)

where \({W}^{\mathrm{^{\prime}}}\) represents the extracted color digital watermark image, \(W\) represents the original color digital watermark image, M and N represent the size of the watermark image, and j represents the index of the components of the color image.

In the watermark embedding process, the quantization step T is an important parameter that has a great impact on the imperceptibility and robustness of watermarking algorithm. In order to select the parameter T, we conduct many experiments. Experiments show that when \(\alpha\) is 1 and T is in the range of [300,400], the trade-off between imperceptibility and robustness can be achieved. Therefore, the value of T is set to 350 in this algorithm.

4.1 The imperceptibility test and analysis

An effective watermarking algorithm must ensure high imperceptibility and robustness. To test the imperceptibility of the proposed algorithm, the watermark images in Fig. 5a and b are respectively embedded into the carrier image in Fig. 4a–j. Some test results of the watermarked images and the extracted watermark images are shown in Fig. 6. Table 1 lists the PSNR and SSIM values of the watermarked carrier images and the original carrier images.

Fig. 6
figure 6

Watermarked images and extracted watermarks: (ad) watermarked image of Lena, Peppers, Sailboat, Baboon (ef) extracted watermark of Lena, Peppers, Sailboat, Baboon.

Table 1 The test results (PSNR/ SSIM) of watermark imperceptibility

It can be seen from Fig. 6 and Table 1 that the average value of PSNR is greater than 37db, and the average value of SSIM is greater than 0.93. Moreover, all the watermarks are completely extracted. This shows that the original carrier images are similar to the watermarked images, and the watermark cannot be perceived by the human perception system. Thus, the proposed algorithm exhibits good imperceptibility.

To further evaluate the imperceptibility of our algorithm, the color digital watermark 1 in Fig. 5a is respectively embedded into the carrier image “Lena” in Fig. 4a and carrier image “Peppers” in Fig. 4d, the color digital watermark 2 in Fig. 5b is respectively embedded into the carrier image “Sailboat” in Fig. 4e and carrier image “Kid” in Fig. 4f. Then, our watermarking algorithm was compared with other watermarking algorithms. The comparative results of watermark imperceptibility between different watermarking algorithms are listed in Table 2. The comparative results of NC between different algorithms without the attack are listed in Table 3. From Tables 2 and 3, we can see that this watermarking algorithm achieves a good trade-off between the imperceptibility and robustness.

Table 2 The comparative results (PSNR/SSIM) of imperceptibility between different algorithms
Table 3 The comparative results of NC between different algorithms

4.2 The robustness test and analysis

The robustness of watermark means that the watermark can still be extracted under geometric attacks or other malicious attacks, which is crucial for watermarking technology.

For the purpose of measuring the robustness of the proposed watermarking algorithm, we embedded two watermark images in Fig. 5 into the carrier images "Lena" and "Peppers" in Fig. 4, respectively, and then performed different types of attacks on the watermarked images, such as geometric attacks, adding noise, median filtering, low-pass filtering, JPEG compression, sharpening, and JPEG2000 compression. NC can be is used to determine the degree of similarity between the extracted and original watermark images. The higher the NC value, the higher the extracted watermark image quality. Figures 7 and 8 show the extracted watermarks and their NC values under a series of attacks. It can be noticed that the majority of extracted watermarks are of high quality.

Fig. 7
figure 7

Robustness comparison results under different types of attacks: (a) JPEG (Q = 60) (b) JPEG2000 (4:1) (c) Salt & Peppers noise (1%) (d) Gaussian noise (0, 0.003) (e) Median filtering (3 × 3) (f) Butterworth low-pass filter (100,6) (g) Cropping (25%) (h) Zoom-in (400%) (i) Translation (30, 20) (j) Rotation (30°) (k) Rotation (45°) (l) sharpening (1,0.8)

Fig. 8
figure 8

Robustness comparison results under different types of attacks: (a) JPEG (Q = 60) (b) JPEG2000 (5:1) c Salt & Peppers noise (1%) (d) Gaussian noise (0, 0.003) (e) Median filtering (3 × 3) (f) Butterworth low-pass filter (100,6) (g) Cropping (25%) (h) Zoom-in (4:1) (i) Translation (30, 20) (j) Rotation (30°) (k) Rotation(45°) (l) sharpening(1,0.8)

To demonstrate the robustness of our algorithm further, the watermark image 1 in Fig. 5 is embedded into the carrier image “Lena” in Fig. 4a, and the robustness of this algorithm is compared with related algorithms [6, 9, 10, 24] under various attacks. The results of the simulation experiments are shown in Figs. 9, 10, 11 and 12.

Fig. 9
figure 9

Robustness comparison results under compression attacks

Fig. 10
figure 10

Robustness comparison results under noise attacks

Fig. 11
figure 11

Robustness comparison results under filtering attacks

Fig. 12
figure 12

Robustness comparison results under cropping attacks

Figure 9 presents the comparative results under JPEG and JPEG2000 compression attacks. This indicates that the proposed algorithm effectively resists compression attacks.

Figure 10 presents the comparative results of applying the salt and pepper noise attack with 0.002 of intensity and the Gaussian noise attack with mean 0 and variance 0.001. It is evident that the proposed algorithm shows better robustness against in resisting noise attacks than other related algorithms. Figure 11 shows the comparison results of applying the Butterworth low-pass filtering attack with filter order 10 and the 3 × 3 median filtering attack on the watermarked images. This indicates that the proposed algorithm effectively resists these filtering attacks.

Image geometric attacks are to distort or manipulate an image. After geometric attacks, the quality of copyright images will greatly decline. Image cropping attack is one of common geometric attacks. Figure 12 shows the NC values of the extracted watermark images of different algorithms under attacked by cropping attacks with cropping ratios of 25% and 50%. Figure 13 shows the comparative results under scaling attacks with scaling ratios of 400% and 50%. It can be clearly observed that the presented algorithm has higher robustness for resisting cropping and scaling attacks than other related algorithms.

Fig. 13
figure 13

Robustness comparison results under scaling attacks

The translation or rotation attack is one of the common geometric attacks which can also damage the watermark information embedded in the image. Table 4 lists the experimental results when the watermarked images are intentionally attacked by translation with 30 pixels along the horizontal direction and 40 pixels along the vertical direction, (-30, 40), and (30, 40), respectively, and by rotation with 40 degrees clockwise, 750 clockwise and 40° counterclockwise, respectively. Because the Radon transform is a line integral transform and has geometric invariability, in the face of noise and geometric attacks, the Radon domain information is less affected. Therefore, the watermark can be completely extracted. As shown in Figs. 10, 12, and 13 and Table 4, this algorithm is highly robust against noise and geometric attacks.

Table 4 The extracted watermark (NC) under translation and rotation attacks

Image sharpening is a common image processing technique that enhances the edges and contrast of an image. It is also commonly used to attack the watermark images. Table 5 shows the watermarked image and its corresponding extracted watermark under sharpening attacks with different values of the radius and amount parameters. It can be seen that the watermarked image is greatly changed by the sharpening, and the proposed algorithm can still effectively extract the watermark, which shows that our algorithm has strong resistance to sharpening attacks.

Table 5 The attacked image and extracted watermark (NC) under sharpening attacks

Furthermore, a comparison of the average NCs of the algorithms under different types of attacks in Figs. 9, 10, 11, 12 and 13 is shown in Table 6. It is clear that the proposed algorithm achieves the highest average NC value compared to the other algorithms [6, 9, 10, 24].

Table 6 The comparison of average NC values with different algorithm against different types of attacks

In order to further verify the robustness of the algorithm, we compare our results with algorithms [11, 15, 18] with the color Lena image as carrier image and the binary image of size 64 × 64 as watermark image under different types of attacks. Table 7 shows the comparison results. Compared with algorithms [11, 15, 18], the proposed algorithm has better resistance to the Salt&Peppers noise, Gaussian noise, Gaussian filter, and histogram equalization attacks. Compared with their methods, this algorithm has weak performance in JPEG compression (QF = 50) attack but better overall performance in resisting various attacks. Therefore, the comparisons show that the proposed algorithm is as robust as the state-of-art approaches.

Table 7 The comparison of NC values with different algorithm against various attacks

4.3 The security analysis

4.3.1 Key space analysis

In this paper, in order to enhance the security of the watermarking algorithm, color watermark image is divided into three components: red, green and blue. Arnold transform is applied to scramble each component using private key Ka. Because color watermark image has three components, and the key space of each \({K}_{{a}_{i}}\) is 15-bit, thus the key space of this scrambling transform is 45-bit.

In addition, in the watermark embedding, the randperm(n,k) function with the private key Kb is used to generate a random permutation to select randomly the DCT blocks for embedding watermark. The private key Kb is determined by two integers n, k and the maximum value of them is limited by the number of blocks. Therefore the key space of each of n and k is 14-bit. Thus, the key space of the key Kb is 28-bit.Thus, the total key space of the proposed algorithm determined by the keys Ka and Kb is 73-bit, which is strong enough to withstand brute force attack.

4.3.2 Key sensitivity analysis

A secure watermark algorithm should also have good key sensitivity performance. When a false key is used to decrypt the encrypted image, the decrypted image should be completely different from the original watermark. The keys Ka and Kb were changed to test the key sensitivity of this algorithm. The simulation results are shown in Table 8. It can be seen from Table 8 that the watermarks extracted with the false keys are fuzzy and have very low NC values. This experiment indicates that this algorithm has good key sensitivity performance and high security.

Table 8 NC of extracted watermark with wrong keys

5 Conclusion

In this study, we presented a robust watermarking algorithm for color images based on the Radon transform and DCT transform. It has three main features: (1) In order to improve the robustness against common attacks, especially geometric and noise attacks, the Radon transform is applied to embed watermarks. (2) 24-bit color images are used as watermark images instead of the grayscale images. (3) The Arnold transform and the random permutation function are applied to enhance the security performance of the proposed algorithm. The experimental results prove that the presented algorithm has good imperceptibility and high security, and it has also strong robustness against different types of attacks. But there are still some limitations in this algorithm. When there are black pixels at the edge of a watermarked image subjected to rotation attack, the rotation angle calculated based on black pixels is not accurate enough. In future research, authors will focus on the methods of obtaining accurate rotation angle. Moreover, the application and performance enhancement of this algorithm are also the focus of later works.