Effacer les filtres
Effacer les filtres

How do I change the color channel's value using variables?

3 vues (au cours des 30 derniers jours)
Maria Jeseca Baculo
Maria Jeseca Baculo le 15 Août 2017
I am working on a project which aims to recolor a certain part of an image. I created a matlab function that accepts numerical values for the RGB channels. However, this code will only run once smoothly, then on the succeeding executions, a mismatch error will appear. What seems to be the problem with my code? Thanks :)
% Extract the individual red, green, and blue color channels.
redChannel = maskedImage(:, :, 1);
greenChannel = maskedImage(:, :, 2);
blueChannel = maskedImage(:, :, 3);
% Make the red channel that color
redChannel(edge2) = red;
greenChannel(edge2) = grn;
blueChannel(edge2) = blu;
maskedImage = cat(3, redChannel, greenChannel, blueChannel);
  5 commentaires
Maria Jeseca Baculo
Maria Jeseca Baculo le 15 Août 2017
also, the parameters are sent by a python web app via matlab engine. Thanks again :)
Maria Jeseca Baculo
Maria Jeseca Baculo le 15 Août 2017
yes, I made sure that the values are uint8 values, the thing is, the code works fine with constant values. But when these variables are used, it only runs once without the error.

Connectez-vous pour commenter.

Réponses (1)

Image Analyst
Image Analyst le 15 Août 2017
Either edge2 is not the same size as redChannel, or red is not a single number but an array.
  1 commentaire
Maria Jeseca Baculo
Maria Jeseca Baculo le 16 Août 2017
I tried converting the arguments to int in python prior passing them in matlab and now it works! Thank you :)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by