Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo implementar un algoritmo de marca de agua digital de espectro extendido usando C++

Cómo implementar un algoritmo de marca de agua digital de espectro extendido usando C++

El espectro ensanchado se utiliza generalmente para marcas de agua en el dominio de la frecuencia.

Primero, debes escribir funciones DCT, DWT, etc. en C++.

Debido a que lo usará y lo usará con frecuencia, escriba uno usted mismo o busque uno en línea.

El espectro ensanchado generalmente se realiza después de la conversión del dominio de frecuencia. Por supuesto, también es posible ensanchar el espectro primero y luego convertir el dominio de frecuencia.

1. Leer la imagen original. Luego, realice una transformación en el dominio de la frecuencia (también se puede usar DCT o DWT, FFT) y luego ensanche el espectro (el espectro ensanchado es relativamente simple, y luego directamente *2 la frecuencia original, que también es espectro ensanchado).

2. Leer la imagen que se va a incrustar.

3. Genere un número pseudoaleatorio y realice la operación XOR (XOR) en la imagen incrustada.

4. Incrustar la imagen procesada a incrustar en la banda de frecuencia seleccionada en el dominio de espectro ensanchado de la imagen original mediante un algoritmo.

5. Restaure el espectro ensanchado incrustado y luego realice DCT, DWT y otras transformaciones para obtener la imagen con la marca de agua incrustada.