matlab programming help required

1 view (last 30 days)
charu shree
charu shree on 9 Aug 2017
Edited: Image Analyst on 8 Sep 2017
i want to divide an image into overlapping blocks and then apply svd is applied to each block to extract its corresponding singular values feature vectors ......pls can anyone tell me how to do this as i am unable to do it after trying so many times
  7 Comments
Jan
Jan on 10 Aug 2017
Edited: Jan on 10 Aug 2017
@charu shree: Explaining all steps is not useful here. It does not help, if we spend the time to understand the chain of steps. Concentrate on the step, in which you have a problem.
What exactly is "LL"? Is the dividing into the blocks the problem, or the application of the SVD? What exactly is "this third step"? What have you tried so far?
Give us a chance to help you.
charu shree
charu shree on 10 Aug 2017
@jan simon, i want help in dividing an image of size M*N into overlapping blocks of size B*B so that further i should be able to process each block.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 9 Aug 2017
For overlapping tiles, as opposed to adjacent, non-overlapping tiles, you can still use blockproc().
If the overlap is the entire tile except for one pixel (in other words the window moves over just one pixel at a time instead of in "jumps" of the whole tile size) then you can use nlfilter().
  6 Comments
TUSHAR MURATKAR
TUSHAR MURATKAR on 8 Sep 2017
@ image analyst....can you tell me how many total number of blocks we will get if we divide an image having rows=486 and columns = 732 into overlapping blocks. The block size is 8x8. Any help in this regard is highly appreciated.
Image Analyst
Image Analyst on 8 Sep 2017
Edited: Image Analyst on 8 Sep 2017
There will be 61 blocks vertically and 92 blocks horizontally if there is no overlap. You could have up to 486 blocks veritcally and 732 blocks horizontally depending on the amount of overlap. In that extreme case (overlapping so much that the block just moves over one pixel), then you're probably better off using nlfilter(). In the majority of cases where people use blockproc(), they don't use an overlap. Why do you want an overlap instead of normal adjacent/touching tiling of the image?
I'm attaching a demo where you can specify overlap, but I really doubt you want any overlap. I'd bet you want just normal tiling and are getting confused with the terminology because when you visualize tiled blocks you think they overlap or cover the image, however with normal tiling the overlap of the tiles with each other is zero.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!