darktable-org / darktable-org/darktable

Morphological operations with masks

Open
#21,629 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Fixed in master scope: UI
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

Whenever I have a mask that exactly covers a subject and I want to make it softer, the current methods of feathering and blur always "bleeds outwards" into the non masked area. I want to avoid that, and the only way I know right now to accomplish that is to manually draw a mask that is a bit too small and then use feathering.
With the new AI masking and also parametric masking that is not always an option though since the generated masks usually covers the subject exactly.
I propose two new operations for masks, erode and dilate that makes the mask smaller or larger by X pixels (before feathering and blur is applied)
The solution could be two new sliders in the masking panel called erode and dilate that has a default value of 0.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by locating the masking panel and the existing feathering and blur operations, then determine how mask erosion and dilation should interact with them; done means the proposed controls reliably shrink or expand masks before those effects are applied.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.