Error using imadjust>checkRange (line 306) Function imadjust expected its second input argument, [LOW_IN; HIGH_IN] photo editing
Mostrar comentarios más antiguos
hi every one , I am tray to do Photo editor but i have her eror , what the wrong?

Respuestas (1)
Image Analyst
el 13 de Nov. de 2020
0 votos
imadjust() does not work with RGB images, so it can't take scaling parameters for each color channel. If you want to brighten your RGB image for display, use rescale().
9 comentarios
duna saleh
el 14 de Nov. de 2020
Walter Roberson
el 14 de Nov. de 2020
imadjust does work for rgb in R2020b, but possibly the user is using an earlier release.
Walter Roberson
el 14 de Nov. de 2020
that is the wrong calling sequence for rescale
app.TempEffect = rescale(app.Modified ,reshape([app.LowR app.LowG app.LowB], [1,1,3]), reshape([app.HighB app.HighG app.HighR],[1,1,3]));
duna saleh
el 14 de Nov. de 2020
duna saleh
el 14 de Nov. de 2020
Walter Roberson
el 14 de Nov. de 2020
are you using R2020a or R2020b?
lb = [app.LowR app.LowG app.LowB];
assert(numel(lb) == 3, "lb unexpectedly has %d elements", numel(lb)) ;
ub = [app.HighR app.HighG app.HighB];
assert(numel(ub) == 3, "ub unexpectedly has %d elements", numel(ub)) ;
app.TempEffect = rescale(app.Modified ,reshape([lb, [1,1,3]), reshape(ub,[1,1,3]));
I speculate that one of the slider Value is empty.
duna saleh
el 14 de Nov. de 2020
Walter Roberson
el 14 de Nov. de 2020
assert(isscalar(app.LowR), "LowR is size %s", mat2str(size (app.LowR)))
and similar for the other bounds
imadjust() does support RGB and full 2x3 limit specification for both lower and upper bounds, and it has for years prior to 2020. The following code was tested in R2009b:
A = imread('peppers.png');
B = imadjust(A,[0.1 0.2 0.3; 0.9 0.9 0.9],[0.1 0.2 0.3; 0.8 0.9 1],1);
imshow(B)
... but it won't work if the input image is single-channel and you give it overspecified limit parameters. Check your input images for class and depth and handle them accordingly.
A = imread('cameraman.tif');
B = imadjust(A,[0.1 0.2 0.3; 0.9 0.9 0.9],[0.1 0.2 0.3; 0.8 0.9 1],1);
It also doesn't support RGB inputs for the short (implicit lower bound) syntax. That requires the explicit use of stretchlim().
Categorías
Más información sobre Image Arithmetic en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


