This my code:
lv_obj_t *canvas = lv_canvas_create(obj, NULL);
static lv_color_t canvas_buf[LV_IMG_BUF_SIZE_TRUE_COLOR_ALPHA(LV_HOR_RES_MAX, LV_VER_RES_MAX)];
lv_canvas_set_buffer(canvas, canvas_buf, LV_HOR_RES_MAX, LV_VER_RES_MAX, LV_IMG_CF_TRUE_COLOR_ALPHA);
lv_draw_img_dsc_t img_dsc;
lv_draw_img_dsc_init(&img_dsc);
lv_canvas_draw_img(canvas, 0, 0, PNG_BLUR_1, &img_dsc);
g_blur->rectangle = lv_obj_create(canvas, NULL);
lv_style_init(&g_blur->rectangle_style);
lv_style_set_bg_color(&g_blur->rectangle_style, LV_STATE_DEFAULT, LV_COLOR_MAKE(0xff,0xff,0xff));
lv_style_set_radius(&g_blur->rectangle_style, LV_STATE_DEFAULT, 16);
lv_style_set_bg_opa(&g_blur->rectangle_style, LV_STATE_DEFAULT, LV_OPA_30 / 2);
lv_obj_set_size(g_blur->rectangle, 208, 145);
lv_obj_align(g_blur->rectangle, NULL, LV_ALIGN_IN_TOP_LEFT, 24, 311);
lv_obj_add_style(g_blur->rectangle, LV_OBJ_PART_MAIN, &g_blur->rectangle_style);
lv_area_t area = {24, 311, 24 + 208, 311 + 145};
//! Blur needs to be set vertically and horizontally together
lv_canvas_blur_hor(canvas, &area, 60);
lv_canvas_blur_ver(canvas, &area, 60);
lv_canvas_blur_hor(canvas, &area, 60);
lv_canvas_blur_ver(canvas, &area, 60);
lv_canvas_blur_hor(canvas, &area, 60);
lv_canvas_blur_ver(canvas, &area, 60);