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

3 次查看(过去 30 天)
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 个评论
Maria Jeseca Baculo
also, the parameters are sent by a python web app via matlab engine. Thanks again :)
Maria Jeseca Baculo
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.

请先登录,再进行评论。

回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by