Which is the best software for Image Processing

Status
Not open for further replies.

Jigar 4 Electronics

Full Member level 5 Hello,
I am looking for best software for Image processing.
Can anyone suggest me such software please ?
I know about Matlab but it's slow for the implementation.

Mostafa.A

Newbie level 6 I get it from my friends.
and attached file, at below link.

but I attached it, too, in this email.

if you like to find 0.18um models from this file, do as below
open "mm018.l" by notepad. then search for "1.8E-07" in the notepad file.

MATLAB is best to, examine your idea, easily.
but when write a program in MATLAB, you should write your program in some other softwar as C , FORTRAN, ... to be fast.

but in MATLAB, notice some things, to be faster
consider the size of variables before for loop.
try to change "for statement" by, simple statements.
for example:
for i=1:size(b,2)-1, a(2,i) = b(2,i)+b(2,i+1); end can change by
a(2, 1:size(b,2)-1) = b(2,1:end-1)+b(2,2:end); and it work very faster.

• Jigar 4 Electronics

Jigar 4 Electronics

Points: 2

Jigar 4 Electronics

Full Member level 5 I get your view but can't understand the example of 'for' loop , can you please explain it in detail :

"" for i=1:size(b,2)-1, a(2,i) = b(2,i)+b(2,i+1); end can change by
a(2, 1:size(b,2)-1) = b(2,1:end-1)+b(2,2:end); and it work very faster. ""

Mostafa.A

Newbie level 6 notice I'm poor in English. but I take another example to, can be explain answer.

consider 'A', a 512*512 matrix.

and we like to calculate differences between each two pixels.

the program Can be written as follows

****************************** (1)
clear A B
tic
for i=1:512
for j=1:511
B(i,j)=A(i,j+1)-A(i,j);
end
end
toc
****************************** (2)
clear A B
tic
B(512,511)=0;
for i=1:512
for j=1:511
B(i,j)=A(i,j+1)-A(i,j);
end
end
toc
****************************** (3)
clear A B
tic
B=A ,2:512)-A ,1:511);
toc
****************************** (4)
clear A B
tic
B(512,511)=0;
B=A ,2:512)-A ,1:511);
toc
****************************** (5)
clear A B
tic
B(512,511)=0;
B , =A ,2:512)-A ,1:511);
toc
***********************************************************
***********************************************************

results (amount time, program need)

(1) Elapsed time is 0.072111 seconds.
(2) Elapsed time is 0.011675 seconds.
(3) Elapsed time is 0.001771 seconds.
(4) Elapsed time is 0.002383 seconds.
(5) Elapsed time is 0.005198 seconds.

Experiment Result
(2) is faster (1), because we consider the size of B at the first.
(3) is fastest, because we don't use 'for' loop.
(4) & (5) is not better, because we don't need to consider size of B.
but why, we get this results.

at the (1), when 'i' & 'j' increment, size of 'B is increment too. and MATLAB should find the new memory for 'B' and assign it too 'B', and then change 'B'. communicate to memory, is very slower.
at the (3), is faster, because the 'for' loop in "MATLAB" is slower than "C" , "FORTRAN".
at the (4), the "B(512,511)=0;" statement isn't useful. because at the "B=A ,2:512)-A ,1:511);" statement, MATLAB clear "B" and then create "B" and assign result.
and at the (5), MATLAB one time, need to create "B" and set all memory of it to zero. and then need to change all elements of "B", to can assign the result.

Last edited:
• Jigar 4 Electronics

Points: 2