I want to divided image to non-overlapping blocks, then I will appliy DWT on each block
can any one help me with this please

 Akzeptierte Antwort

Image Analyst
Image Analyst am 9 Mär. 2019

0 Stimmen

This is a FAQ, so See the FAQ
I recommend blockproc as the best for what you want to do. I'm attaching demos for non-overlapping blocks.

4 Kommentare

Mohammed  Kassem
Mohammed Kassem am 21 Mär. 2019
how to perform DWT on each block of image using (blockproc)
i dont need the standard deviation can you help me please
thanks.
Image Analyst
Image Analyst am 21 Mär. 2019
Use the demo where I write my own custom function to process each block. You can do whatever you want in that function, including DWT or anything else.
Mohammed  Kassem
Mohammed Kassem am 23 Mär. 2019
Thanks for your efforts i have changed the function as
I = imread('pears.png');
fun = @(block_struct)...
dwt2(block_struct.data,'dmey');
C = blockproc(I,[64 64],fun);
but i got no out put and no errors
so how i can access the [cA,cH,cV,cD] of dwt2 if the above code is true
Image Analyst
Image Analyst am 24 Mär. 2019
I can't help you with the wavelet part since I don't have the wavelet toolbox.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

KALYAN ACHARJYA
KALYAN ACHARJYA am 9 Mär. 2019
Bearbeitet: madhan ravi am 9 Mär. 2019

1 Stimme

You can use blockproc (Distinct block processing for image) on image
result=blockproc(image,[m n],fun)
Which processes the image by applying the function fun to each distinct block of size [m n] and concatenating the results into the output result matrix. You have to create the function
See the documentation for detail
Also you can look for sliding window (one by one pixel), check
kernel=create window
result=conv2(image, kernel, 'same');
If it still unclear, let me know?

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by