mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Use separable gaussian kernels.
This commit is contained in:
parent
943f19ae5d
commit
040a3cb0e4
@ -121,17 +121,17 @@ void image_copy(image_t *dst, image_t *src)
|
||||
extern const float xyz_table[256];
|
||||
|
||||
const int8_t kernel_gauss_3[3*3] = {
|
||||
9, 12, 9,
|
||||
12, 15, 12,
|
||||
9, 12, 9,
|
||||
1, 2, 1,
|
||||
2, 4, 2,
|
||||
1, 2, 1,
|
||||
};
|
||||
|
||||
const int8_t kernel_gauss_5[5*5] = {
|
||||
2, 4, 5, 4, 2,
|
||||
4, 9, 12, 9, 4,
|
||||
5, 12, 15, 12, 5,
|
||||
4, 9, 12, 9, 4,
|
||||
2, 4, 5, 4, 2,
|
||||
1, 4, 6, 4, 1,
|
||||
4, 16, 24, 16, 4,
|
||||
6, 24, 36, 24, 6,
|
||||
4, 16, 24, 16, 4,
|
||||
1, 4, 6, 4, 1
|
||||
};
|
||||
|
||||
const int8_t kernel_laplacian_3[3*3] = {
|
||||
|
||||
@ -820,9 +820,9 @@ static mp_obj_t py_image_gaussian(uint n_args, const mp_obj_t *args, mp_map_t *k
|
||||
PY_ASSERT_TRUE_MSG((arg_ksize == 3 || arg_ksize == 5), "Kernel Size must be 3 or 5");
|
||||
|
||||
if (arg_ksize == 3) {
|
||||
imlib_morph(arg_img, 1, kernel_gauss_3, 1.0f/99.0f, 0.0f);
|
||||
imlib_morph(arg_img, 1, kernel_gauss_3, 1.0f/16.0f, 0.0f);
|
||||
} else if (arg_ksize == 5) {
|
||||
imlib_morph(arg_img, 2, kernel_gauss_5, 1.0f/159.0f, 0.0f);
|
||||
imlib_morph(arg_img, 2, kernel_gauss_5, 1.0f/256.0f, 0.0f);
|
||||
}
|
||||
|
||||
return args[0];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user