Filtrado de imágenes laplacianas y nitidez de imágenes en MATLAB

Estoy tratando de "traducir" lo que se menciona en González y Woods (2ª edición) sobre el filtro laplaciano.

Leí en la imagen y creé el filtro. Sin embargo, cuando trato de mostrar el resultado (por sustracción, ya que el elemento central está en -ve), no obtengo la imagen como en el libro de texto.

Creo que la razón principal es la "escala". Sin embargo, no estoy seguro de cómo hacer eso exactamente. Por lo que entiendo, algunos recursos en línea dicen que la escala es solo para que los valores estén entre 0-255. Desde mi código, veo que los valores ya están dentro de ese rango.

Realmente agradecería cualquier puntero.

A continuación se muestra la imagen original que utilicé:

A continuación se muestra mi código y la imagen afilada resultante.

¡Gracias!

clc;
close all;
a = rgb2gray(imread('e:\moon.png'));
lap = [1 1 1; 1 -8 1; 1 1 1];
resp = uint8(filter2(lap, a, 'same'));
sharpened = imsubtract(a, resp);
figure; 
subplot(1,3,1);imshow(a); title('Original image');
subplot(1,3,2);imshow(resp); title('Laplacian filtered image');
subplot(1,3,3);imshow(sharpened); title('Sharpened image');

Respuestas a la pregunta(1)

Su respuesta a la pregunta