mathematical operation on each element of gpuArray
Ältere Kommentare anzeigen
How can i do mathematical operation on each element of gpuArray with the equation below? s = 2r(i, j) − r(i, j +1) + r(i, j −1). here r is the image matrix. I've written the code below:
im = imread('(HTC-1-M7)1.jpg');
tic
img = gpuArray(im);
for j =2: size(im,2) -1
A(:,:,:) = 2*img(:, :,:) -img(:,j+1,:) + img(:, j-1,:);
end
B = gather(A);
toc
Is there anyway to apply equation on each element of gpuarray with function like arrayfun without using loop? Thanks in advance.
2 Kommentare
Matt J
am 22 Jan. 2018
Are you certain that it is not a 2nd order differencing filter that you want:
s = 2r(i, j) − r(i, j +1) - r(i, j −1)
Rouhan Noor
am 22 Jan. 2018
Bearbeitet: Rouhan Noor
am 22 Jan. 2018
Antworten (1)
B=gather( imfilter(gpuArray(img), [+1,2,-1]) );
4 Kommentare
Rouhan Noor
am 22 Jan. 2018
Rouhan Noor
am 22 Jan. 2018
Rouhan Noor
am 22 Jan. 2018
B=gather( diff(gpuArray(img),2,2) );
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!