Tải bản đầy đủ (.pdf) (3 trang)

Bài tập Môn xử lý ảnh Chương trình tính tích chập Convolution C++

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (282.46 KB, 3 trang )

Nguyễn Thị Lan_K5A-CNTT

1

Học Viện Quản Lý Giáo Dục
Khoa Công Nghệ Thông Tin
Sinh Viên: Nguyễn Thị Lan
Lớp: K5A_CNTT


BÀI TẬP MÔN XỬ LÝ ẢNH

I. Chương trình
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int M=5, N=5;
int L=3;
int H[3][3]={{0,-1,0},{-1,4,-1},{0,-1,0}};
int MaO[5][5];
int
MaI[5][5]={{4,7,2,7,1},{5,7,1,7,1},{6,6,3,8,3},{5,7,5,7,1},{5,7,
6,1,2}};
tichchap(MaO, MaI, M, N, H, L);
show(MaO, N, M);
return(0);
}
void tichchap(int MaO[5][5], int MaI[5][5], int M, int N, int
H[3][3], int L)


{
int Row, Col,k, l, m,n;
int Lc=(1+L)/2;
int Sum[M][N];
for(m=0; m<M; m++)
Nguyễn Thị Lan_K5A-CNTT

2

for(n=0; n<N; n++)
Sum[m][n]=0;
for(m=0; m<M; m++)
for(n=0; n<N; n++)
{
for(k=0; k<L; k++)
for(l=0; l<L; l++)
{
Row=m-k+Lc-1;
Col=n-l+Lc-1;
if((Row >=0)&&(Col>=0)&&(Row<M)&&(Col<N))
Sum[m][n] += H[k][l]*MaI[Row][Col];
}
}
for(m=0; m<M; m++)
for(n=0; n<N; n++)
{
MaO[m][n]=Sum[m][n];
}
}
void show(int MaI[5][5], int M, int N)

{
int m, n;
for(m=0; m<M; m++)
{
for(n=0; n<N; n++)
printf("%4d",MaI[m][n]);
printf("\n");
Nguyễn Thị Lan_K5A-CNTT

3

}
}
II. Kết quả hiển thị


×