NOTE Anyone like to contribute to IM examples, this is a good area to do so. Come on show us your knowleadge and help the rest of us
Blur Image for test.
A_original.jpg
convert A_original.jpg -blur 0x3 A_original_blur3.jpg
sharpen is just a gaussian type blurred image subtracted from the image to make an edge image (high pass filter), then equally blends that back with the original, so one has a high pass enhanced image.
convert A_original_blur3.jpg -sharpen 0x3 A_original_blur3_sharp3.jpg
unsharp is more complex. It is similar. It takes the difference (edge result) as above, i.e. like sharpen BUT only blends some fraction or multiple of that with the original image, AND only if the difference is above a threshold. Thus unsharp 0x3+1+0 is basically the same as sharpen 0x3
convert A_original_blur3.jpg -unsharp 0x3+1+0 A_original_blur3_unsharp3_1_0.jpg
compare -metric rmse A_original_blur3_sharp3.jpg A_original_blur3_unsharp3_1_0.jpg null:
164.661 (0.00251256)
The difference may be due to whether one uses a separable (gaussian) blur filter or not in one or the other but not both. Or it could be just some slight differences elsewhere in the IM implementation.
If one blends less with the original, one gets less sharpening.
convert A_original_blur3.jpg -unsharp 0x3+0.5+0 A_original_blur3_unsharp3_0p5_0.jpg
If one blends more with the original, one gets more sharpening.
convert A_original_blur3.jpg -unsharp 0x3+2+0 A_original_blur3_unsharp3_2_0.jpg
If one increases the threshold, then one gets less sharpening again.
convert A_original_blur3.jpg -unsharp 0x3+2+0.2 A_original_blur3_unsharp3_2_0p2.jpg
Several of my scripts, binomialedge, gaussianedge, sharpedge use this blending concept (between the high pass filtered result and the original image) and a description is there with the scripts. The thresholding in my scripts is done differently and for a different purpose.