how can i color the particular block of the image?

2 views (last 30 days)
m working on gray scale images.. i've extracted a particular block from the code for the above is :
blockNumber = 1;
blockrows =2; blockcols = 2;
[blockcol, blockrow] = ind2sub( [blockcols, blockrows], blockNumber);
colstart = (blockcol-1) * blockSizeC + 1;
rowstart = (blockrow - 1) * blockSizeR + 1;
oneBlock1 = grayImage(rowstart : rowstart + blockSizeR - 1, colstart : colstart + blockSizeC - 1);
imshow(oneBlock);
i want to color the above block..how can i do so????
grayImage(rowstart : rowstart + blockSizeR - 1, colstart : colstart + blockSizeC - 1)=0;
the above code color the block with black but it distorts the intensity values.
plz help me to do so..

Accepted Answer

Iman Ansari
Iman Ansari on 5 May 2013
Hi.
clear
grayImage=imread('cameraman.tif');
blockNumber = 34;
blockSizeC=32;
blockSizeR=32;
blockrows =8; blockcols = 8;
[blockrow, blockcol] = ind2sub( [blockcols, blockrows], blockNumber);
colstart = (blockcol-1) * blockSizeC + 1;
rowstart = (blockrow - 1) * blockSizeR + 1;
oneBlock = grayImage(rowstart : rowstart + blockSizeR - 1, colstart : colstart + blockSizeC - 1);
New=cat(3,grayImage,grayImage,grayImage);
New(rowstart : rowstart + blockSizeR - 1, colstart : colstart + blockSizeC - 1,[1 3])=0;
imshow(New);
  4 Comments
Iman Ansari
Iman Ansari on 6 May 2013
I changed it to color Image with:
R=grayImage;
G=grayImage;
B=grayImage;
because R,G and B value are the same, so your output image looks gray level image. R and B components in your became 0, your block seems green. Your grayImage didn't change and in color image (New) the green component is the same as grayImage:
New(:,:,2)==grayImage

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!