MagickImage has a method which changes color called
opaqueImage
MagickImage[
^]
An important item to account for when using this is that the colored pixels you want to change may not all have the EXACT same RGB values, especially when you are dealing with jpegs that have lossy compression schemes. There are a couple of options on how to overcome this.
The first would be to change the "base" image type from JPG to a PNG image which can be set to a non-lossy compression scheme. You could then roto-scope the image to "flatten" the colors to one exact color to change.
Another option would be to use a property within MagickImage which allows a deviation to be set to the color match, it is called
ColorFuzz
, and allows you to enter in a percentage of from the original color to look for. I did find a thread on Stack Overflow that covered this very thing
c# - Cannot replace color with Magick.Net - Stack Overflow[
^]