필터 지우기
필터 지우기

is there a way so that we extract a particular block from an 8x8 image?

조회 수: 4 (최근 30일)
i've an image of size 8x8 blocks i.e total of 64 blocks.
i want to extract or show only few blocks...
how can i do so?
for row = 1 : blockSizeR : rows
for col = 1 : blockSizeC : columns
row1 = row;
row2 = row1 + blockSizeR - 1;
row2 = min(rows, row2);
% Determine starting and ending columns.
col1 = col;
col2 = col1 + blockSizeC - 1;
col2 = min(columns, col2);
% Extract out the block into a single subimage.
oneBlock = grayImage(row1:row2, col1:col2);
% Specify the location for display of the image.
subplot(6,8, blockNumber);
imshow(oneBlock);
end
end
the above code shows all the 64 blocks..
what should i do, so that only block 10 and block 34 is show rather than all the blocks..
if there is a way tell me how to do it..
  댓글 수: 5
Raman
Raman 2013년 3월 11일
편집: Raman 2013년 3월 11일
how can can i do so? can u help me sir by writing few lines of code plz..
reply plz
Raman
Raman 2013년 3월 12일
can anyone help me plz....

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2013년 3월 12일
편집: Walter Roberson 2013년 3월 12일
blockrows =8; blockcols = 8;
[blockcol, 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);
  댓글 수: 3
Walter Roberson
Walter Roberson 2013년 3월 12일
Sorry, should have been ind2sub() rather than idx2subs()
Do not enclose this in a "for" loop. The above is the complete code to extract by block number. For example to extract block #34, use those lines of code with BlockNumber = 34
Raman
Raman 2013년 3월 12일
thank you so much it works....
:)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by