how can i color the particular block of the image?

1 回表示 (過去 30 日間)
pammy
pammy 2013 年 5 月 5 日
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..

採用された回答

Iman Ansari
Iman Ansari 2013 年 5 月 5 日
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 件のコメント
Iman Ansari
Iman Ansari 2013 年 5 月 6 日
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
pammy
pammy 2013 年 5 月 7 日
thank you so much

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeIterator Subsystems についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by