1. Trang chủ
  2. » Công Nghệ Thông Tin

De thi xu ly anh doc

68 1,3K 20

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 1,95 MB

Nội dung

Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Đề thi Xử Lý Ảnh GV: Trần Tiến Đức MỤC LỤC ĐỀ THI VÀ ĐÁP ÁN MÔN XỬ LÝ ẢNH SỐ Chương 3 gồm 13 câu từ câu 1 đến câu 13 Câu 1. Xây dựng và cài đặt thuật toán làm âm ảnh. Đáp án:  !"#$% #$&'(%#$&') *')+,) /#$&')01(23&'(%#'4.35 678(869 Cod e: void Negatives(BYTE **f, BYTE **g) { int x, y; BYTE r,s; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y];  : ; <=%=>   Đề thi Xử Lý Ảnh GV: Trần Tiến Đức s = L-1-r; g[x][y] = s; } return; } Câu 2. Xây dựng và cài đặt thuật toán biến đổi logarit ảnh. Đáp án: ?35@3 <A>  • #$&'( • #$&') • "B • <A>C=9 *')+, C7D9 Hằng số c được nh như sau: E)   <A> ;F== E) &          )11log( 1 −+ − L L  G23 ! H 9IJ I Cod e: void Logarithm(BYTE **f, BYTE **g) { int x, y; double r,s; double c = (L- 1)/log(1.0*L); for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; s = c*log(1+r); g[x][y] = (int)s; } return; }  K63.    <=%=> L6)M(6 Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Câu 3. Xây dựng và cài đặt thuật toán biến đổi lũy thừa ảnh. Đáp án: N35@3O.P)  Q (23#$&'(%#$&')% %Q"B9 • QR • QS"39 c: được nh như sau: E) D+, • == •   <> Q   γ )1( 1 − − L L Cod e: void Power(BYTE **f, BYTE **g) { int x, y; double r,s; double gamma = 5.0; double c = (L-1)/pow(1.0*(L-1),gamma); for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; s = c*pow(1.0*r,gamma);; g[x][y] = (int)s; } return; } T  γ=0,4 γ=1 γ=1,5 S R Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Câu 4. Xây dựng và cài đặt thuật toán biến đổi tuyến tính từng phần. Đáp án: Quan sát trên đồ thị ta thấy: N35@36U63V'%8U783V'9E# WXY)<Z[3\X>9 Ta có: ?C]3^')3_<$%.>(<$%.> 12 1 yy yy − −  12 1 xx xx − − ` 12 12 xx yy − − <$$>A. • abK3_<=%=>(<%> : 1 1 r s  • abKK3_<%>(<%> H   L-1 L-1 r <%> <%> Đề thi Xử Lý Ảnh GV: Trần Tiến Đức : 12 12 rr ss − − <>A • abKKK3_<%>(<%> : 2)1( 2)1( rL sL −− −− <>A <%>(<%>29 Cod e: void PiecewiseLinear(BYTE **f, BYTE **g) { double r1,s1,r2,s2,rmin,rmax,s,r,m,sum; int x, y; rmin = f[0][0]; rmax = f[0][0]; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; if (r<rmin) rmin = r; if (r>rmax) rmax = r; } r1 = rmin; s1 = 0; r2 = rmax; s2 = L-1; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; if (r<r1) s = s1/r1*r; else if (r<r2) s = (s2-s1)/(r2-r1)*(r-r1)+s1; else s = (L-1-s2)/(L-1-r2)*(r-r2)+s2; g[x][y] = (int)s; } return; } Câu 5. Xây dựng và cài đặt thuật toán cân bằng histogram. Đáp án: /cUY)3)3)+V'9d3)WX Y)9 Đề thi Xử Lý Ảnh GV: Trần Tiến Đức 3) E<><> ∫ r r dwwp 0 )( (23 r <e>f'-$.)#$w E$'-%gY)4X"39h#Dw353D c%)Zh_49E)3Bih#C3b  Z E< Z ><> ∑ = k j jr rp 0 )( (23Z=%%%j% Cod e: void HistogramEqualization(BYTE **f, BYTE **g) { double T[L]; int k, j, x, y; BYTE r; double s; double p[L]; Histogram(f,p); for (k=0; k<L; k++) { T[k] = 0; for (j=0; j<=k; j++) T[k] = T[k] + p[j]; } for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; s = T[r]; g[x][y] = (int)(s*(L-1)); } return; } Câu 6. Xây dựng và cài đặt thuật toán đặc tả histogram. Đáp án: dh33)kO"%Dh3Z3)3)(V3) )'"9 ! Đề thi Xử Lý Ảnh GV: Trần Tiến Đức EU3)Y)+3'.)35@33)lX   <r m > MN n j  Z E< Z > ∑ = k j jr rp 0 )( 3)'" n <z i > N35@33)'"9 ( Z o<n Z > k k j jz szp = ∑ =0 )(  Z %)'.)n Z )' n Z o  <E< Z >> Mục êu:#$&'( Z %)'.)#$&')n Z 9 GUBc3)'"(p)' q Đề thi Xử Lý Ảnh GV: Trần Tiến Đức a_h3)'"(p%)BiC]3^'))3 3_<$  %.  >(<$  %.  > 12 1 yy yy − −  12 1 xx xx − − S. 12 12 xx yy − − <$$>A. Cod e: void HistogramSpecification(BYTE **f, BYTE **g) { double pz1,pz2,pz3,pz4,pz5,pz6; int z1,z2,z3,z4,z5,z6; double pz[L]; double G[L]; double pr[L]; double T[L]; double sum; int z, k, i, j, x, y; // Histogram dac ta z1 = 0; pz1 = 0.75; z2 = 10; pz2 = 7; z3 = 20; pz3 = 0.75; z4 = 180; pz4 = 0; z5 = 200; pz5 = 0.7; z6 = 255; pz6 = 0; for (z=0; z<L; z++) if (z<z2) pz[z] = (pz2-pz1)/(z2-z1)*(z-z1) + pz1; else if (z<z3) pz[z] = (pz3-pz2)/(z3-z2)*(z-z2) + pz2; else if (z<z4) J Đề thi Xử Lý Ảnh GV: Trần Tiến Đức pz[z] = (pz4-pz3)/(z4-z3)*(z-z3) + pz3; else if (z<z5) pz[z] = (pz5-pz4)/(z5-z4)*(z-z4) + pz4; else pz[z] = (pz6-pz5)/(z6-z5)*(z-z5) + pz5; // Chuan hoa pz sao cho tong xac suat bang 1 sum = 0; for (z=0; z<L; z++) sum += pz[z]; for (z=0; z<L; z++) pz[z] = pz[z]/sum; for (k=0; k<L; k++) { G[k] = 0; for (i=0; i<=k; i++) G[k] = G[k] + pz[i]; } // Histogram cua anh Histogram(f,pr); for (k=0; k<L; k++) { T[k] = 0; for (j=0; j<=k; j++) T[k] = T[k] + pr[j]; } // Matching 2 histogram BYTE r; double s; for (x=0; x<M; x++) for (y=0; y<N; y++) { r = f[x][y]; s = T[r]; for (k=0; k<L; k++) if (G[k]>=s) break; g[x][y] = k; } return; } Câu 7. Xây dựng và cài đặt thuật toán cân bằng histogram cục bộ. Đáp án: EC#$ZV)'Dr^'s%5')3)lX pZhZ5^'9EC)3Bi3)cX9 tu)@ZU2v_&u'%(UBcT%3)Y)Bw 3r' Pu)@().&u'&u239 I Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Cod e: void LocalHistogram(BYTE **w, int m, int n, double *p) { int x, y, k; BYTE r; for (k=0; k<L; k++) p[k] = 0; for (x=0; x<m; x++) for (y=0; y<n; y++) { r = w[x][y]; p[r]++; } for (k=0; k<L; k++) p[k] = p[k]/(m*n); return; } void LocalHistogramEqualization(double *p, double *T) { int j, k; for (k=0; k<L; k++) { T[k] = 0; for (j=0; j<=k; j++) T[k] = T[k] + p[j]; } return; } void LocalEnhancement(BYTE **f, BYTE **g) { int m, n; m = 3; n = 3; BYTE **w; int x, y, s, t, a, b; a = m/2; b = n/2; double p[L]; double T[L]; BYTE r; w = (BYTE **)Alloc2D(m,n,sizeof(BYTE)); for (x=a; x<M-a; x++) for (y=b; y<N-b; y++) { for (s=-a; s<=a; s++) for (t=-b; t<=b; t++) w[s+a][t+b] = f[x+s][y+t]; LocalHistogram(w,m,n,p); LocalHistogramEqualization(p,T); r = f[x][y]; g[x][y] = (int)((L-1)*T[r]); } = [...]... **Sobely; Sobelx = (double **)Alloc2D(m,n,sizeof(double)); Sobely = (double **)Alloc2D(m,n,sizeof(double)); Sobelx[0][0] = -1; Sobelx[0][1] = -2; Sobelx[0][2] = -1; Sobelx[1][0] = 0; Sobelx[1][1] = 0; Sobelx[1][2] = 0; Sobelx[2][0] = 1; Sobelx[2][1] = 2; Sobelx[2][2] = 1; Sobely[0][0] = -1; Sobely[0][1] = Sobely[1][0] = -2; Sobely[1][1] = Sobely[2][0] = -1; Sobely[2][1] = 0; Sobely[0][2] = 0; Sobely[1][2]... Viết dưới dạng mặt nạ như sau : Code: void ConvolutionInt(BYTE **f, int M, int N, int **g, double **w, int m, int n, BOOL border) { int bx, by, a, b, x, y, s, t, p, q; double r; a = m/2; b = n/2; if (border) { bx = 0; by = 0; } else { bx = a; by = b; } for (x=bx; x . Sobelx[2][2] = 1; Sobely[0][0] = -1; Sobely[0][1] = 0; Sobely[0][2] = 1; Sobely[1][0] = -2; Sobely[1][1] = 0; Sobely[1][2] = 2; Sobely[2][0] = -1; Sobely[2][1] = 0; Sobely[2][2] = 1; ConvolutionInt(f,M,N,gx,Sobelx,m,n,TRUE); ConvolutionInt(f,M,N,gy,Sobely,m,n,TRUE); for. ),(),( E $ZU2Y)Xt%(C"v_Xt&u'9 )|(|ZU2w)Xt9 ?[tZh3)t3@4<('M>9 a"3(23t'.5g%‚btCXt'9 GUBc‚bt'(‚bo)' Co de : void Convolution(BYTE **f, int M, int N, BYTE **g, double **w, int m, int n, BOOL border) { int bx, by, a, b, x, y, s, t, p, q; double r; a = m/2; b = n/2; if (border) { bx =. Đề thi Xử Lý Ảnh GV: Trần Tiến Đức Đề thi Xử Lý Ảnh GV: Trần Tiến Đức MỤC LỤC ĐỀ THI VÀ ĐÁP ÁN MÔN XỬ LÝ ẢNH SỐ Chương 3 gồm 13 câu từ câu

Ngày đăng: 08/08/2014, 18:22

TỪ KHÓA LIÊN QUAN

w