I have a set of code ,for some RGB images my codes works but for some the coed not work i get an error "Subscripted assignment dimension mismatch",can u tell how to solve it
size of image1=183 275 3
size of image2=238 174 3
size of image3= 72 72 3
I get error for 2nd and 3rd image but not for 1st image
i grt error in this line
trunCoarseImg(:,:,:) = coarseImg((n+1):(end-n),(n+1):(end-n)); where n=6

 采纳的回答

Image Analyst
Image Analyst 2011-10-14

0 个投票

You're specifying 3 dimensions for trunCoarseImg but only two for coarseImg. You can't do that. You'd have to assign that 2D coarseImg image to each color plane in trunCoarseImg one at a time.

5 个评论

FIR
FIR 2011-10-14
my question was for ,my code works for some 3d and dont work for some 3d images
I have given the size of images too
my code works for this image ans its size is
size of image1=183 275 3
ans my code does not work for this image and sizes are
size of image2=238 174 3
size of image3= 72 72 3
I told you why. You can't assign a 2D image to (:,:,:).
Maybe it only works on the first image because it IS the first image, and the first time through the code (e.g. in a loop)? Try breakpointing in the code to investigate.
Hi Image Analyst,
How would you assign the 2D image to each color plane one at a time?
To assign the red channel (third index = 1), to some 2D array that has the same lateral dimensions (rows and columns), do this
rgbImage(:,:,1) = your2DImage;

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by