Программа 1

>    restart;t1:=time():with(ImageTools):# Фильтр Собеля

>    with(LinearAlgebra):

>    MPEI:=Read("C:\\MPEI.jpg"):

>    img0:= RGBtoGray(MPEI):

>    View(MPEI);

Initializing Java runtime environment.

>    Фильтр:=proc(z,im)

>    local IMG,s,G1,G2,i,j,A,X,Y,w,h:

>    global img;

>    w:=Width(im): h:=Height(im):

>    img:=Create(h,w):

>    IMG:=convert(im,Matrix):

>    s:=[z/2,z,z/2]:

>    G1:=Matrix([s,[0,0,0],-s]);

>    G2:=Transpose(G1):

>    for i from 2 to h-1 do

>     for j from 2 to w-1 do

>     A:=SubMatrix(IMG,[i-1,i,i+1],[j-1,j,j+1]):

>      X:=add(add(A[k,m]*G1[k,m],k=1..3),m=1..3);

>      Y:=add(add(A[k,m]*G2[k,m],k=1..3),m=1..3);

>     img[i,j]:=sqrt(X^2+Y^2):

>     od:

>    od:

>    img:

>    end proc:

>    Фильтр(1,img0):img1:=1-img: View(img0,img1): time()-t1;

13.030

>    View(img0,img1):

>    Write("C:\\MPEI2.jpg",img1);

10929

>