The filter is used to reduce noise while preserving edges. It can be used to create a cartoon effect from photorealistic images. It offers two variations: 1) Classic aka isotropic kuwahara filter: simple and faster computation. Algorithm splits an area around a single pixel in four parts and computes the mean of the region with the lowest standard deviation. 2) Anisotropic Kuwahara filter: improves the classical approach by considering the direction of structures of regions This patch implements both approaches above as multi-threaded operations for the full-frame and tiled compositor. Co-authored-by: Sergey Sharybin <sergey@blender.org> Pull Request: https://projects.blender.org/blender/blender/pulls/107015
24 lines
498 B
C++
24 lines
498 B
C++
/* SPDX-FileCopyrightText: 2023 Blender Foundation
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
#include "COM_Node.h"
|
|
|
|
namespace blender::compositor {
|
|
|
|
/**
|
|
* \brief KuwaharaNode
|
|
* \ingroup Node
|
|
*/
|
|
|
|
class KuwaharaNode : public Node {
|
|
public:
|
|
KuwaharaNode(bNode *editor_node) : Node(editor_node) {}
|
|
void convert_to_operations(NodeConverter &converter,
|
|
const CompositorContext &context) const override;
|
|
};
|
|
|
|
} // namespace blender::compositor
|