can blkproc function is used in LBP?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
can you explain me fun function in blkproc below:
I = imread('liftingbody.png');
fun = @(x) std2(x)*ones(size(x));
I2 = blkproc(I,[32 32],fun);
figure, imshow(I), figure, imshow(I2,[])
what the function of 'fun' if I use LBP?
thx before
0 comentarios
Respuesta aceptada
Anand
el 2 de Ag. de 2013
You can use the nlfilter function to implement this. It will be slow, though. Here's a mocked up implementation that you could try:
function out = computeLLBP(im,kernel_width)
%COMPUTELLBP - Compute Local Line Binary Pattern of an image.
validateattributes(im,{'numeric'},{'2d'},mfilename,'im',1);
validateattributes(kernel_width,{'numeric'},{'odd','numel',2},mfilename,'kernel_width',2);
out = nlfilter(im,kernel_width,@processLLBP);
function c = processLLBP(block)
sz = size(block);
center = (sz+1)/2;
vertical = block(: ,center(2))>block(center(1),center(2));
horizontal = block(center(1),: )>block(center(1),center(2));
llbpv = bin2dec( (int2str(vertical(1 :center(2)-1)))') +...
bin2dec(fliplr((int2str(vertical(center(2)+1:end )))'));
llbph = bin2dec( int2str(horizontal(1 :center(1)-1))) +...
bin2dec(fliplr(int2str(horizontal(center(1)+1:end ))));
c = hypot(llbpv,llbph);
end
end
2 comentarios
Anand
el 29 de Ag. de 2013
Its a nested function thats defined right after the call to nlfilter in the code above.
Más respuestas (1)
Image Analyst
el 2 de Ag. de 2013
It takes the standard deviation of a block and replaces every pixel in the block with the standard deviation of that block.
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!