2024 ทำไม image processing ต องทำ grayscale

today I treid a python filtering code that supposes to increase the noise in the image(de-noising) for a gray-scale image(medical image) and it's for a skull, the problem is i keep getting colored pixels, i mean the noise increased in terms of colored image, not in grayscale so please help me to make the code filter in gray-scale mode, extra details :

the code :

enter link description to see the filter code

original image :

the de-noised image after applying noise filter :

you can see the problem clearly that when i zoom into the picture i can see the colored pixels, while it supposes to be a gray-scale form

colored pixels in the filtered image :

partial zoom in

full zoom in

so please guess does anybody knows how to edit that code so that it can increase the noise in form of grayscale mode.

asked Dec 7, 2021 at 19:12

2024 ทำไม image processing ต องทำ grayscale

7

Your input image is a 3-channel JPEG. Make it greyscale (1 channel) before applying noise then it won't be able to treat the channels differently because there will only be one.

Name

filter()

Class

PImage

Description

Filters the image as defined by one of the following modes:

THRESHOLD Converts the image to black and white pixels depending on if they are above or below the threshold defined by the level parameter. The parameter must be between 0.0 (black) and 1.0 (white). If no level is specified, 0.5 is used.

GRAY Converts any colors in the image to grayscale equivalents. No parameter is used.

OPAQUE Sets the alpha channel to entirely opaque. No parameter is used.

INVERT Sets each pixel to its inverse value. No parameter is used.

POSTERIZE Limits each channel of the image to the number of colors specified as the parameter. The parameter can be set to values between 2 and 255, but results are most noticeable in the lower ranges.

BLUR Executes a Gaussian blur with the level parameter specifying the extent of the blurring. If no parameter is used, the blur is equivalent to Gaussian blur of radius 1. Larger values increase the blur.

ERODE Reduces the light areas. No parameter is used.

DILATE Increases the light areas. No parameter is used.

Examples

  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img1.filter(THRESHOLD, 0.3); img2.filter(THRESHOLD, 0.7); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    2024 ทำไม image processing ต องทำ grayscale
  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(GRAY); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    2024 ทำไม image processing ต องทำ grayscale
  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(INVERT); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    2024 ทำไม image processing ต องทำ grayscale
  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(POSTERIZE, 4); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    2024 ทำไม image processing ต องทำ grayscale
  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(BLUR, 6); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    2024 ทำไม image processing ต องทำ grayscale
  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(ERODE); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    2024 ทำไม image processing ต องทำ grayscale
  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(DILATE); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    2024 ทำไม image processing ต องทำ grayscale

Syntax

  • pimg.filter(kind)
  • pimg.filter(kind, param)

Parameters

  • pimg

    PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(GRAY); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    0 any object of type PImage
  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(GRAY); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    1

    PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(GRAY); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    2Either THRESHOLD, GRAY, OPAQUE, INVERT, POSTERIZE, BLUR, ERODE, or DILATE
  • PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(GRAY); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    3

    PImage img1, img2; void setup() { size(400, 400); img1 = loadImage("flower.jpg"); img2 = loadImage("flower.jpg"); img2.filter(GRAY); } void draw() { image(img1, 0, 0); image(img2, width/2, 0); }

    4unique for each, see above