# Obtain 2x2 regions in an image using sliding window

조회 수: 1(최근 30일)
Sparsh Garg 2021년 7월 31일
답변: Image Analyst 2021년 7월 31일
Given an image,I would like to observe 2x2 regions of that image using sliding window.Notice that,as of now I am only interested in obsrving the pixels in that region and not with any further processing.
So its' like I start from the top left,in the 2x2 region there are a set of pixel values,then it goes to the next region and so on till the bottom right.

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

### 채택된 답변

Walter Roberson 2021년 7월 31일
If all you are doing is "observing" the pixels, then a double-nested loop is probably easiest; the time taken to "observe" them (display them as an image, or output them to a command line) would be much higher than any inefficiency due to looping.
If you were doing calculations, then there may be faster or more convenient methods.
##### 댓글 수: 3표시숨기기 이전 댓글 수: 2
Sparsh Garg 2021년 7월 31일
ahhh that sounds reasonable anyways here is the code that I am using,as mentioned earlier would appreciate it if you could give me suggestions on making it faster.

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

### 추가 답변(1개)

Image Analyst 2021년 7월 31일
Not sure you've got this solved or not after your last comment, but here is how I'd answer your original question:
[rows, columns, numColorChannels] = size(rgbImage)
for row = 1 : rows-1
for col = 1 : columns - 1
subImage = rgbImage(row:row+1, col:col+1, :);
imshow(subImage, 'InitialMagnification', 70000, 'XData', [col, col+1], 'YData', [row, row+1]);
axis('on', 'image');
pause(0.25);
caption = sprintf('Showing rows %d-%d, columns %d-%d.\n', row, row+1, col, col+1);
xlabel(caption);
fprintf('%s\n', caption);
drawnow;
end
end

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

### Community Treasure Hunt

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

Start Hunting!

Translated by