// UnSharp.v アンシャープマスクプログラム #define C_SIZE 1 // キャッシュ半径 module UnSharp(in:input,out:output) int in on pixel cache C_SIZE; int out on pixel; { parallel{ int sum; // 入力画像のラプラシアンをとったものを入力画像から引く sum = -in[-C_SIZE][-C_SIZE] -in[-C_SIZE][] -in[-C_SIZE][+C_SIZE] -in[][-C_SIZE] +in[][]*9 -in[][+C_SIZE] -in[+C_SIZE][-C_SIZE] -in[+C_SIZE][] -in[+C_SIZE][+C_SIZE]; if(sum < 0) sum = -sum; out[][] = sum; } }